I am trying to test my application where I need to move a widget from one location to other, in other word I need to test drag & drop functionality in an end to end test.
How would I test this?
I am trying to test my application where I need to move a widget from one location to other, in other word I need to test drag & drop functionality in an end to end test.
How would I test this?
I had this same issue. The solution for me was to follow the advice in the Selenium issue here: https://code.google.com/p/selenium/issues/detail?id=3604#c20
Starting with the example from @nilsK, here was my solution:
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();
I think this also solves this issue
you will need to chain your mouse actions:
var yourOffset = {x:5,y:5};
ptor().actions().
mouseMove(yourElement,yourOffset).
mouseDown().
mouseMove(youTarget[,targetOffset]). // [] optional
mouseUp().
perform();
You can use ptor.actions().dragAndDrop(el1, el2).perform();
I have an example here from the test suite in my own application:
/**
* 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
});
});
};
© 2022 - 2024 — McMap. All rights reserved.