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

bku*_*era 5 cypress

在 Cypress 中,我有多个与我的cy.route()声明相匹配的请求。我想确保在路线上提出了不止一个请求。我如何告诉 Cypress 等待对同一 url 的多个 XHR 请求?

gor*_*sbm 7

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

cy.wait(["@graphql", "@graphql"]);
Run Code Online (Sandbox Code Playgroud)


bku*_*era 4

来自赛普拉斯文档

您应该为匹配所有 XHR 的单个cy.route()设置别名(使用.as() )。然后您可以多次使用cy.wait() 。Cypress 会跟踪有多少匹配的 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)
Run Code Online (Sandbox Code Playgroud)