gre*_*ark 2 javascript e2e-testing cypress
在赛普拉斯内布线时,是否有任何方法可以断言某个元素永远不可见?
我有一个服务器渲染的Web应用程序,该应用程序有时不应该显示“正在加载”状态。因此,当我在页面之间导航时,“正在加载”指示器会显示几秒钟,然后消失。
我知道赛普拉斯的断言有时会“等待”,但是在这种情况下,这会导致我的断言失败,因为加载指示器消失了,这使测试认为它已经通过了。
我正在使用以下两个断言:
cy.get('[data-test="loading"]').should('not.exist');
cy.get('[data-test="loading"]').should('not.be.visible');
但是他们两个都通过了,因为加载指示器消失了。
我已经检查了所有文档,但似乎没有某种方法可以检查元素从不可见。是否有某种我缺少的方法或一些技巧可以用不同的方式进行测试?
我可能疯了,我还没有测试过,但是我想把它扔出去
我假设您正在测试,永远不要有加载指示器,它正在等待默认的4秒钟,指示器消失,因此您的测试通过了。因此,在下面,我将等待时间设置为零,因此不等待。我也对为什么不修复实际代码感到困惑,因为如果您不应该这样做,那么就看不到指示器。也许您无权访问该代码。
cy.get('[data-test="loading"]',{ timeout: 0 }).should('not.exist');
cy.get('[data-test="loading"]',{ timeout: 0 }).should('not.be.visible');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2476 次 |
| 最近记录: |