如何在赛普拉斯中等待两个并行的XHR请求

时间:2018-08-15 11:32:30

标签: cypress

我知道可以在同一URL上等待多个XHR请求,如here所示。但是,我想等待两个并行运行的请求。

cy.wait('@users')
cy.wait('@users')

当我添加两次等待(如上所示)时,第二次等待有时会非常紧密地结束,因为它们基本上错过了XHR。

CypressError: Timed out retrying: cy.wait() timed out waiting 30000ms for the 1st response to the route: 'users'. No response ever occurred.

我不喜欢脆弱的介绍。有没有更好的方式写我所缺少的东西?

3 个答案:

答案 0 :(得分:5)

您可以wait for an array of aliases,我没有尝试多次调用同一条路线,但是我认为应该可以解决问题。

cy.wait(['@users', '@users'])

答案 1 :(得分:1)

我认为此文档没有正确记录,但可以使用。

cy.wait('@users.all')

请参阅:https://github.com/cypress-io/cypress/issues/3516#issuecomment-464989237

答案 2 :(得分:0)

我创建了一个示例,该示例将盲目等待所有未完成的请求完成,然后再继续,您可以在此处检查实现。 https://github.com/PinkyJie/cypress-auto-stub-example#more-detail-for-implementation