等待对同一个 url 或端点的多个 XHR 请求
Wait for multiple XHR requests to the same url or endpoint
在 Cypress 中,我有多个请求将匹配我的 cy.route()
声明。我想确保在路线上提出了不止一个请求。我如何告诉 Cypress 等待对同一个 url 的多个 XHR 请求?
来自Cypress Docs:
您应该设置一个 别名 (多次使用 .as()) to a single cy.route() that matches all of the XHRs. You can then 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)
另一种方法是传入一个别名数组。
cy.wait(["@graphql", "@graphql"]);
这对我有用
cy.wait("@Request1");
cy.wait("@Request2");
cy.wait(0);
cy.wait("@Request2");
在 Cypress 中,我有多个请求将匹配我的 cy.route()
声明。我想确保在路线上提出了不止一个请求。我如何告诉 Cypress 等待对同一个 url 的多个 XHR 请求?
来自Cypress Docs:
您应该设置一个 别名 (多次使用 .as()) to a single cy.route() that matches all of the XHRs. You can then 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)
另一种方法是传入一个别名数组。
cy.wait(["@graphql", "@graphql"]);
这对我有用
cy.wait("@Request1");
cy.wait("@Request2");
cy.wait(0);
cy.wait("@Request2");