gpt4 book ai didi

javascript - 如何检查在 Cypress e2e 测试中元素是否永远不可见?

转载 作者:行者123 更新时间:2023-12-01 15:21:19 25 4
gpt4 key购买 nike

有没有办法断言在 Cypress 中路由时元素在任何时候都不可见?
我有一个服务器渲染的网络应用程序,有时它不应该显示“正在加载”状态。因此,当我在页面之间导航时,“加载”指示器会显示几秒钟然后消失。
我知道 Cypress 的断言有时会“等待”——在这种情况下, Cypress 一直等到加载指示器消失,这使得测试认为它已经通过了。但我希望测试失败,因为加载指示器在某些时候是可见的。
我正在使用这两个断言: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');

关于javascript - 如何检查在 Cypress e2e 测试中元素是否永远不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53745845/

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