Nightwatch.js:拖放

Blu*_*ueM 5 selenium drag-and-drop nightwatch.js

我正在尝试使用 Nightwatch.js 0.8.18、Selenium Server 2.53.0 和 Chrome Driver 2.21.2 测试拖放操作。

基本上,我采用了https://github.com/RobK/nightwatchjs-drag-n-drop-example/blob/master/spec/drag-and-drop.js 中描述的方法——即:类似......

.moveToElement('some-xpath-expression', 10, 10)
.pause(100)
.mouseButtonDown(0)
.pause(100)
.moveToElement('other-xpath-expression', 30, 30)
.pause(100)
.mouseButtonUp(0)
Run Code Online (Sandbox Code Playgroud)

光标移动到要拖动的元素(可以通过:hover鼠标悬停的图标样式感知),但随后什么也没有发生。在我看来,该mouseButtonDown()操作没有任何效果。(但谁知道呢?)

如果我使用 Firefox 而不是 Chrome 并没有什么区别——行为完全相同。

有任何想法吗?

小智 1

单击元素的那一刻,表达式会发生变化,因此测试会“忘记”他们应该单击的内容。

建议使用操作构建方法,如下所示:

http://elementalselenium.com/tips/39-drag-and-drop