等待对同一URL或端点的多个XHR请求

时间:2018-05-22 16:51:13

标签: cypress

在赛普拉斯,我有多个请求符合我的cy.route()声明。我想确保路线上有多个请求。如何告诉赛普拉斯等待多个XHR请求到同一个网址?

3 个答案:

答案 0 :(得分:1)

来自Cypress Docs

您应该将别名(使用.as())设置为与所有XHR匹配的单个cy.route()。然后,您可以多次cy.wait()。赛普拉斯会跟踪有多少匹配的XHR请求。

cy.server()
cy.route('users').as('getUsers')
cy.wait('@getUsers')  // Wait for first GET to /users/
cy.get('#list>li').should('have.length', 10)
cy.get('#load-more-btn').click()
cy.wait('@getUsers')  // Wait for second GET to /users/
cy.get('#list>li').should('have.length', 20)

答案 1 :(得分:1)

另一种选择是传入别名数组。

cy.wait(["@graphql", "@graphql"]);

答案 2 :(得分:0)

这对我有用

cy.wait("@Request1");
cy.wait("@Request2");
cy.wait(0);
cy.wait("@Request2");