gpt4 book ai didi

javascript - Cypress 并不总是执行点击元素

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

我正在自动化 Google 计算器。有时 Cypress 无法执行点击按钮。测试单击按钮(0 到 9)并执行一些简单的数学运算。并且有 30% 的机会它无法点击元素并且测试将失败。

出现问题时我还录制了视频。

Video here

我的项目位于: https://github.com/afiliptsov/test-project

To run the test run : "npm run test:e2e:functional"

我尝试使用不同的定位器。最初我只使用 ID ex(#cwbt15) 但在我制作了更具体的定位器 (#cwbt15 > .cwbtpl > .cwbts) 之后仍然遇到同样的问题。

有谁知道为什么会发生这种情况以及如何避免这种行为?

项目结构是:

  • cypress/PageObject.js - 声明所有元素的地方。
  • cypress/support/commands.js - 创建函数点击的地方和验证值(value)得到更新。
  • cypress/integration/functional/delete.spec.js - 测试视频

最佳答案

对于自 "6.x.x"

之后/之后使用 cypress 版本的那些妓女

你可以像这样使用 {force: true }:

cy.get("YOUR_SELECTOR").click({ force: true });

但这可能无法解决问题! 问题可能更复杂,这就是检查下面的原因

我的解决方案:

cy.get("YOUR_SELECTOR").trigger("click");

解释:

就我而言,我需要更深入地观察正在发生的事情。我开始像这样固定 click 操作:

enter image description here

然后查看控制台,您应该会看到如下内容: enter image description here

现在点击 Mouse Events 行,它应该会显示一个表格: enter image description here

所以基本上,当 Cypress 执行 click 函数时,它会触发所有这些事件,但不知何故我的组件的行为方式是它在 click 事件 被触发时分离.

所以我只是通过以下方式简化了点击:

cy.get("YOUR_SELECTOR").trigger("click");

它奏效了 🎉

希望这能解决您的问题,或者至少能帮助您调试并了解问题所在。

关于javascript - Cypress 并不总是执行点击元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51254946/

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