【问题标题】:drag and drop is not working in protractor typescript拖放在量角器打字稿中不起作用
【发布时间】:2021-03-15 05:02:43
【问题描述】:

我正在研究量角器打字稿脚本。我正在尝试在网站上自动拖放,但无法做到。

我都试过了:

let source=element(by.xpath("abc"));
let destinaton=element(by.xpath("xyz"));

1) await browser.driver.actions().dragAndDrop(await source.getWebElement(),await destinaton.getWebElement()).perform();
2) browser.actions().dragAndDrop(source, destinaton).perform();
3) await browser.driver.actions().mouseMove(await source.getWebElement()).
                mouseDown(await source.getWebElement()).
                mouseMove(await destinaton.getWebElement()).
                mouseUp(await destinaton.getWebElement()).
                perform();
4) await browser.driver.actions()
    .mouseMove({x: srcx, y: srcy})
    .mouseDown()
    .mouseMove({x: destx, y:desty})
    .mouseUp().perform();
5) var fs = require("fs");
    var dnd_js = fs.readFileSync("/abc/drag_and_drop_helper.js");
    browser.driver.executeScript(dnd_js+source+".simulateDragDrop({ dropTarget: "+destination+"});")
6) var dragAndDrop = require('html-dnd').code;
    browser.driver.executeScript(dragAndDrop, source, destination);

上面提到的所有方法我都尝试过,还有更多方法,但没有任何效果。它只是悬停在源元素和目标元素上,但没有发生拖动。

使用的技术:

打字稿:3.0.1 量角器:7.0.0

如果有其他解决方法,请帮助我。

【问题讨论】:

  • 在这里查看我的答案stackoverflow.com/a/52527607/9150146 我仍在使用它并且它正在工作。如果有帮助请点赞。如果不起作用,则说明您的设置有问题。
  • 感谢@SergeyPleshakov 的建议。但它也不起作用。
  • 检查您的定位器和代码的其他区域

标签: javascript typescript protractor


【解决方案1】:

我在测试@angular/cdk拖放时出现问题。

我首先需要将鼠标移动到拖动元素,而不是直接将元素移动到目的地,我必须将鼠标移动一些像素。

async dragAndDrop(dragElement: WebElement, dropElement: WebElement) {
  await browser.actions().mouseMove(dragElement).perform();
  await browser.actions().mouseDown(dragElement).perform();
  await browser.actions().mouseMove({ x: 10, y: 0 }).perform();
  await browser.actions().mouseMove(dropElement).perform();
  await browser.actions().mouseUp().perform();
}

我结合了https://github.com/angular/protractor/issues/123https://github.com/wilgert/angular-cdk-drag-drop-protractor-issue/blob/master/e2e/src/app.po.ts#L26

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    相关资源
    最近更新 更多