gpt4 book ai didi

firefox - selenium DragAndDrop 不拖放,尽管选择器看起来没问题

转载 作者:行者123 更新时间:2023-12-02 14:11:49 25 4
gpt4 key购买 nike

我尝试在 Firefox selenium IDE 中使用 DragAndDrop,但它不起作用。

我是 Selenium 的忠实粉丝,但这个问题在最后一天一直让我发疯。

我有一个拖放测试:

dragAndDrop
//div[contains(text(),"Lori F.")]/../../
0,160

但它不执行拖放操作。我已经看到它工作了几次,但不知道为什么/为什么现在不行。似乎有时有效有时无效。

当我单击 IDE [查找] 按钮时,选择器本身确实可以工作。它突出显示了我试图移动的 DIV。所以这不是我在 selenium 中实际无法选择具有正确 xpath 的对象的“常见”问题。

它所反对的 HTML 是:

<div class="fc-event-inner fc-event-skin" style="background-color: yellow;">
<div class="fc-event-head fc-event-skin"></div>
<div class="">
<div class="fc-event-title">
Lori F., Marshal H., Chris W., Kenna T.
</div>
</div>
<div class="fc-event-bg"></div>
</div>

当实际步骤尝试运行时,浏览器实际上会“闪烁”该对象,表明它可以通过路径“OK”选择它,但不会发生拖放。

我尝试过使用 div 进行 DragAndDropToObject,但这不起作用,因为 DIV 本身需要 x,y 坐标才能“降落”在正确的位置。

我发现了两个问题 [这可能对其他人有帮助] - 并消除了 - 1)在屏幕上放大/缩小弄乱了下降的 x,y 坐标,所以我停止这样做,并且 2)使用Firefox 中的元素检查器似乎也停止了它的工作。所以我相信我已经排除了这两个潜在原因。

能够测试拖放功能非常重要,因为许多应用程序现在都采用各种 ajax 路由来处理此类内容,因此能够测试它是关键!

最佳答案

有时拖放无法正常工作(我不知道为什么)。

因此,您可以使用解决方法以另一种方式模拟相同的操作:

1) mouseDownAt(locator, coordString) - 在这里按下鼠标左键并按住

2)有时等待 react 很有用(例如等待工具提示出现或其他)。至少稍微停顿一下,以确保鼠标“捕获”对象并可以拖动它(测试可能运行得非常快,浏览器可能无法正确 react )

3) mouseMoveAt(locator, coordString) - 拖动到您需要的位置

4) mouseUpAt(locator, coordString) - 完成拖放后释放鼠标按钮

此外,您可以在这些步骤的开头添加 setMouseSpeed(pixels) 以使鼠标缓慢移动(以确保它可以拖动),并在最后将 setMouseSpeed 恢复为其默认值(默认为 10 表示鼠标步数是10像素。设置速度3-5像素会使鼠标移动更慢)。

尝试通过设置不同的值来尝试鼠标速度,并通过更改定位器(工具提示、阴影,如果有)来等待(在 mouseDownAt 之后),或者只是暂停 1-2 秒。

关于firefox - selenium DragAndDrop 不拖放,尽管选择器看起来没问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16174297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com