如果Cypress中的HTTP请求失败,则使测试失败
我正在用Cypress测试一个应用程序,测试针对的是真正的HTTP服务器。我没有截留HTTP请求 如果任何HTTP请求失败,有没有办法让我的测试失败如果Cypress中的HTTP请求失败,则使测试失败,cypress,Cypress,我正在用Cypress测试一个应用程序,测试针对的是真正的HTTP服务器。我没有截留HTTP请求 如果任何HTTP请求失败,有没有办法让我的测试失败 有一个解决方案看起来不错,但我想知道是否有一个更合适的解决方案。在我的例子中,我并不总是将所有HTTP错误转换为对控制台的调用。error您可以使用cy.intercept()侦听请求并检查状态代码等 参考: 例1: // Wait for intercepted HTTP request cy.intercept('POST', '/users'
有一个解决方案看起来不错,但我想知道是否有一个更合适的解决方案。在我的例子中,我并不总是将所有HTTP错误转换为对
控制台的调用。error
您可以使用cy.intercept()侦听请求并检查状态代码等
参考:
例1:
// Wait for intercepted HTTP request
cy.intercept('POST', '/users').as('createUser')
// ...
cy.wait('@createUser')
.then(({ request, response }) => {
expect(response.statusCode).to.eq(200)
})
例2:
// Listen to GET to comments/1
cy.intercept('GET', '**/comments/*').as('getComment')
// we have code that gets a comment when
// the button is clicked in scripts.js
cy.get('.network-btn').click()
// https://on.cypress.io/wait
cy.wait('@getComment').its('response.statusCode').should('be.oneOf', [200, 304])
我知道你可能有一个很好的理由,但是你有没有想过使用类似的东西而不是真正的端点?谢谢!这对我来说非常有效,我可以截取
*
的url,并确保代码介于200和399之间。谢谢