Mic*_*ant 2 firefox selenium drag-and-drop selenium-ide draggable
我正在尝试在Firefox selenium IDE中使用dragAndDrop,但它无法正常工作.
我是硒的忠实粉丝但这个问题让我在最后一天疯狂.
我有一个dragAndDrop测试:
dragAndDrop
//div[contains(text(),"Lori F.")]/../../
0,160
Run Code Online (Sandbox Code Playgroud)
但它没有做拖拽.我已经看到它工作了几次但不确定为什么/为什么不现在.似乎有时工作,有时不工作.
单击IDE [find]按钮时,选择器本身可以正常工作.它突出了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>
Run Code Online (Sandbox Code Playgroud)
当该实际步骤试图运行时,浏览器实际上"闪烁"该对象,表明它能够通过路径OK选择它,但不会发生拖放.
我尝试了使用div的dragAndDropToObject,但这不起作用,因为DIV本身需要一个x,y坐标才能"降落"在正确的位置.
我发现的两个问题[这可能有助于其他人] - 并且被淘汰 - 是1)放大/缩小屏幕上的x,y坐标弄乱了,所以我停止这样做了2)使用元素检查器在Firefox中似乎也阻止它工作.所以我相信我已经将这两种作为潜在原因消除了.
能够测试拖放是非常重要的,因为许多应用程序现在采用各种ajax路由与这种类型的东西,所以能够测试它是关键!
有时拖放不能正常工作(我不知道为什么).
因此,您可以使用变通方法来模拟相同的操作,但以另一种方式:
1)mouseDownAt(locator,coordString) - 在这里按下鼠标左键并按住它
2)有时等待反应是有用的(例如等待工具提示出现或其他).至少放小停顿以确保鼠标"捕获"了对象并可以拖动它(测试运行速度非常快,浏览器可能无法正常反应)
3)mouseMoveAt(locator,coordString) - 拖动你需要的地方
4)mouseUpAt(locator,coordString) - 释放鼠标按钮完成拖放
此外,您可以在这些步骤的开头添加setMouseSpeed(像素)以使鼠标移动缓慢(以确保它可以拖动)并最终将setMouseSpeed恢复为其默认值(默认值为10意味着鼠标步长为10个像素设置速度3-5像素会使鼠标移动速度变慢.
尝试通过设置不同的值来尝试鼠标速度并通过更改定位器等待(在mouseDownAt之后)(工具提示,阴影,如果有的话)或只是暂停1-2秒.
| 归档时间: |
|
| 查看次数: |
5230 次 |
| 最近记录: |