gpt4 book ai didi

javascript - 如何在 Cypress.io 中拖放

转载 作者:行者123 更新时间:2023-11-28 21:37:53 24 4
gpt4 key购买 nike

我正在测试 Trello 并尝试拖动最后一个列表,然后将其放入倒数第二列,但如果没有“.wait”,测试将无法运行。如果有人可以在这里就潜在问题提出建议,那将非常有帮助,因为我更愿意避免使用“.wait”。没有错误抛出,但如果没有“.wait”,拖放仍然不会发生。

describe("Moving list", () => {
it("Waiting For Accept list should be moved from last column to the penultimate column", () => {
cy.get("#board")
.children(".js-list")
.should("have.length", 4)
.and("be.visible");

cy.get(":nth-child(4) > .list")
.should("be.visible")
.and("contain", "Waiting For Accept")

cy.get(":nth-child(4) > .list").trigger("mousedown", {
which: 1
});

cy.get("#board > div:nth-child(2) > .list")
.trigger("mousemove");

cy.get("#board > div:nth-child(3) > .list")
.trigger("mousemove")
.trigger("mouseup");

cy.get(":nth-child(3) > .list")
.should("contain", "Waiting For Accept");
});
});

See image

See image

最佳答案

开箱即用,记录的问题是 https://github.com/cypress-io/cypress/issues/845 .但在同一张票中,也可以使用 native 拖放 API 和可拖动元素上的可拖动属性来解决此问题:

创建自定义命令

Cypress.Commands.add("dragTo", { prevSubject: "element" }, (subject, targetEl) => {
cy.wrap(subject).trigger("dragstart");
cy.get(targetEl).trigger("drop");
}
);

在测试脚本中您可以使用:

cy.get(".source").dragTo(".target");

关于javascript - 如何在 Cypress.io 中拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56282387/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com