我正在使用Protractor测试我的AngularJS应用程序,该应用程序涉及拖动元素并将其放在svg上。我可以在svg上单击并拖动元素。
browser.actions()
.mouseMove(draggableElement)
.mouseDown()
.mouseMove({x: 400, y: 100}) //Reaches the svg
.perform();
browser.sleep(1000);
browser.actions().mouseUp().perform();
你可以注意到,在svg上拖动元素之后,我已经睡了一觉。我能够在此时看到所需位置的可拖动元素,但它不会被丢弃。元素突然消失,没有任何反应。
出了什么问题?在Protractor中是否有正确拖放元素的工作方式?
答案 0 :(得分:0)
我认为您必须将draggableEelement
作为参数传递给mouseDown()
和mouseUp()
:
browser.actions()
.mouseMove(draggableEelement)
.mouseDown(draggableEelement)
.mouseMove({x: 400, y: 100})
.perform();
browser.sleep(1000);
browser.actions().mouseUp(draggableEelement).perform();