如果Cypress中的HTTP请求失败,则使测试失败

如果Cypress中的HTTP请求失败,则使测试失败,cypress,Cypress,我正在用Cypress测试一个应用程序,测试针对的是真正的HTTP服务器。我没有截留HTTP请求 如果任何HTTP请求失败,有没有办法让我的测试失败 有一个解决方案看起来不错,但我想知道是否有一个更合适的解决方案。在我的例子中,我并不总是将所有HTTP错误转换为对控制台的调用。error您可以使用cy.intercept()侦听请求并检查状态代码等 参考: 例1: // Wait for intercepted HTTP request cy.intercept('POST', '/users'

我正在用Cypress测试一个应用程序,测试针对的是真正的HTTP服务器。我没有截留HTTP请求

如果任何HTTP请求失败,有没有办法让我的测试失败


有一个解决方案看起来不错,但我想知道是否有一个更合适的解决方案。在我的例子中,我并不总是将所有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之间。谢谢