我正在尝试测试我的应用程序,我需要将一个小部件从一个位置移动到另一个位置,换句话说我需要测试拖动和放大在端到端测试中删除功能。
我该如何测试?
答案 0 :(得分:4)
我有同样的问题。对我来说,解决方案是遵循Selenium问题中的建议:https://code.google.com/p/selenium/issues/detail?id=3604#c20
从@nilsK的例子开始,这是我的解决方案:
var yourOffset = {x:5,y:5};
ptor().actions()
.mouseMove(yourElement,yourOffset)
.mouseDown()
.mouseMove(yourElement,{x:0,y:0}) // Initial move to trigger drag start
.mouseMove(youTarget[,targetOffset]) // [] optional
.mouseUp()
.perform();
我认为这也解决了this issue
答案 1 :(得分:1)
您需要链接鼠标操作:
var yourOffset = {x:5,y:5};
ptor().actions().
mouseMove(yourElement,yourOffset).
mouseDown().
mouseMove(youTarget[,targetOffset]). // [] optional
mouseUp().
perform();
答案 2 :(得分:0)
您可以使用ptor.actions().dragAndDrop(el1, el2).perform();
我在自己的应用程序中的测试套件中有一个example:
/**
* Reorders questions by dragging and dropping.
*/
this.moveQuestion = function (questionToMove, positionToMoveTo) {
return page.getQuestionField(positionToMoveTo).then(function (dest) {
page.getDragHandle(questionToMove).then(function (dragHandle) {
ptor.actions().dragAndDrop(dragHandle, dest).perform();
ptor.sleep(800); // wait for animation
});
});
};