我正在使用 cypress 测试一个网络应用程序。
我登录我的beforeEach
功能。然后,在我的不同测试中,我开始cy.visit('mysite.com/url')
.
我的问题是登录后,网站重定向到网站的特定页面。此重定向发生在cy.visit
我的测试。因此,我的测试在重定向页面上运行,但失败了。
重定向似乎与我可以等待的任何请求都没有关联。
我最终得到cy.wait(3000)
但不是很令人满意。我的测试有时会失败,因为重定向可能需要 3 秒以上。我不想增加这个时间,因为运行测试需要很长时间。
有没有办法做类似的事情:
while (!cy.url().eq('mysite.com/redirection-url')) {
cy.wait(300);
}
Cypress 提供断言重试能力。您可以通过以下更改解决重定向 URL 的等待问题
cy.url().should('contain', '/redirection-url')
OR
cy.url().should('eq', 'mysite.com/redirection-url')
Here should
断言默认等待 4 秒并重试cy.url()
您可以通过更新参数来更改默认超时cypress.json
file
{
"defaultCommandTimeout": 30000
}
希望这能解决您的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)