首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >登录后cypress等待重定向

登录后cypress等待重定向
EN

Stack Overflow用户
提问于 2020-10-27 19:16:44
回答 1查看 7.2K关注 0票数 5

我正在用cypress测试一个web应用程序。

我登录我的beforeEach函数。然后,在我的不同测试中,我从cy.visit('mysite.com/url')开始。

我的问题是,登录后,网站会重定向到网站的特定页面。这个重定向发生在我的测试的cy.visit之后。因此,我的测试在重定向页面上运行,它们会失败。

重定向似乎与我可以等待的任何请求都没有关联。

我最终选择了cy.wait(3000),但它并不是很令人满意。我的测试有时会失败,因为重定向可能需要3秒以上的时间。我不想增加这段时间,因为运行测试会花费太长时间。

有没有一种方法可以这样做:

代码语言:javascript
运行
复制
while (!cy.url().eq('mysite.com/redirection-url')) {
  cy.wait(300);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-27 23:44:35

Cypress提供了断言重试功能。您可以通过以下更改来解决重定向URL的等待问题

代码语言:javascript
运行
复制
cy.url().should('contain', '/redirection-url')

代码语言:javascript
运行
复制
cy.url().should('eq', 'mysite.com/redirection-url')

默认情况下,should断言将等待4秒,然后重试cy.url()

您可以通过更新cypress.json文件中的参数来更改默认超时

代码语言:javascript
运行
复制
{
  "defaultCommandTimeout": 30000
}

希望这能解决你的问题。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64553275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档