【发布时间】:2021-07-09 06:12:43
【问题描述】:
在我的大多数规范中,我最终将{force: true} 传递给click() 命令。
传递强制变得很痛苦:数百个 click() 命令都是如此。
更好的一次性永久解决方案是编写自定义赛普拉斯命令以始终click({force: true})
这是我的做法
【问题讨论】:
-
在我的实践中 - 覆盖命令在 3 种方面是危险的: 1. 由于您不是命令的作者 - 您不知道可能的副作用。 2. 如果您在团队中工作和/或其他人需要在相同的设置上编写测试 - 他们不会知道您更改了默认行为并会遇到问题 3. 以您的情况为例:自动设置 '{force:true }' 将绕过可见性/存在性检查,并使 e2e 测试更加不稳定和不可靠我的建议是创建一个单独的命令,例如
cy.clickForceTrue(),以便您可以选择。
标签: javascript automation command click cypress