量角器 - 拖放不起作用

时间:2017-10-25 14:54:07

标签: typescript selenium-webdriver protractor

我正在尝试将一个元素拖放到另一个元素。我可以看到它拾取元素,然后它将它移出屏幕,并且永远不会将它丢弃到它应该的位置。

我尝试过的事情

const leftSide =  this.breakdownItems.get(0).getWebElement()
const rightSide = this.groupField.getWebElement()
browser.actions()
.mouseDown(leftSide)
.mouseMove(rightSide)
.mouseUp()
.perform()
browser.sleep(2000)

browser.actions()
.dragAndDrop(leftSide, rightSide)
.perform()
browser.sleep(2000)

我确实发现Selenium的一个开放缺陷尚未修复但涉及拖放:https://github.com/SeleniumHQ/selenium-google-code-issue-archive/issues/3604

有没有人真正开始工作,因为看起来标准的东西根本不起作用? 我还要提一下,我只是在Chrome中运行我的测试。

2 个答案:

答案 0 :(得分:1)

您可以使用外部库:html-dnd:https://www.npmjs.com/package/html-dnd

对我而言,就像魅力一样。

答案 1 :(得分:0)

脚本无法运行的主要原因是dragAndDrop()方法输入参数, dragAndDrop方法以WebElement作为输入,以下是您可以执行的代码更改。

 browser.actions()
.dragAndDrop(leftSide.getWebElement(), rightSide.getWebElement())
.perform()
browser.sleep(2000)