Gau*_*aut 3 javascript wait conditional-statements cypress
我正在用 cypress 测试一个网络应用程序。
我登录了我的beforeEach函数。然后,在我的不同测试中,我从cy.visit('mysite.com/url').
我的问题是登录后,网站重定向到网站的特定页面。这种重定向发生在cy.visit我的测试之后。因此,我的测试在重定向页面上运行,它们失败了。
重定向似乎与我可以等待的任何请求无关。
我最终得到了,cy.wait(3000)但不是很令人满意。我的测试有时会失败,因为重定向可能需要 3 秒以上。我不想增加那个时间,因为运行我的测试需要很长时间。
有没有办法做这样的事情:
while (!cy.url().eq('mysite.com/redirection-url')) {
cy.wait(300);
}
Run Code Online (Sandbox Code Playgroud)
Kri*_*hna 10
赛普拉斯提供断言重试能力。您可以通过以下更改解决重定向 URL 的等待问题
cy.url().should('contain', '/redirection-url')
Run Code Online (Sandbox Code Playgroud)
或者
cy.url().should('eq', 'mysite.com/redirection-url')
Run Code Online (Sandbox Code Playgroud)
这里should断言默认会等待 4 秒并重试cy.url()
您可以通过更新cypress.json文件中的参数来更改默认超时
{
"defaultCommandTimeout": 30000
}
Run Code Online (Sandbox Code Playgroud)
希望这能解决您的问题。
| 归档时间: |
|
| 查看次数: |
4506 次 |
| 最近记录: |