也许有人知道如何拖动实现了html5拖放的元素。我需要在e2e测试中使用nightwatchjs。我试过了:
browser.useCss()
.moveToElement("div.test-dragbtn-row",10,10)
.mouseButtonDown(0)
.moveToElement('div.test-container-root',50,50)
.mouseButtonUp(0).pause(3000);
在浏览器中,我可以看到元素被按下了,但第二次移动不起作用,而且它将鼠标按住在元素上,直到我用鼠标实际进入浏览器窗口。
也许有人用nightwatchjs做过拖放测试,知道如何克服这个问题?
发布于 2016-07-05 18:01:46
我创建了一个自定义命令,它在chrome和firefox中工作。
dragAndDrop.js:
module.exports.command = function(source, dest, callback) {
var self = this;
this.moveToElement(source, 10, 10)
.mouseButtonDown(0)
.pause(500)
.moveToElement(dest, 10, 10)
.mouseButtonUp(0);
return this;
};
发布于 2016-06-09 04:54:43
我通过使用这个包解决了类似的问题-- https://www.npmjs.com/package/html-dnd
它通过调度dnd事件来模拟拖放,不涉及鼠标。这并不理想,因为您可能会依赖鼠标事件来实现其他事情,但它确实对我起到了作用。
https://stackoverflow.com/questions/32890407
复制