e2e-testing - 发生 500 xhr 请求时,cypress 测试失败

标签 e2e-testing cypress

我正在为 cypress 中的 Web 应用程序编写端到端测试,如果应用程序发送任何带有 http 500 错误响应的请求,我希望 cypress 测试失败。

我在 3.1.5 版中使用 cypress。我已经尝试了以下操作,但是出现了 promise 错误。

    cy.server();
    cy.route({
      url: '**',
      onResponse: (xhr) => {
        cy.log(xhr);
      }
    });

我希望找到一个更优雅的解决方案来解决这个问题,因为这听起来像是一个非常标准的用例。

最佳答案

尝试使用以下代码引用 doc

  cy.intercept('**').as('all')

  cy.wait('@all').its('response.statusCode').should('not.be.oneOf', [500])
或者
使用 - should('be.oneOf', [200,300]) 检查状态代码
  cy.wait('@all').its('response.statusCode').should('be.oneOf', [200,300])

关于e2e-testing - 发生 500 xhr 请求时,cypress 测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55919603/

相关文章:

javascript - 如何模拟在 Cypress.io 中丢失的窗口焦点

node.js - 函数内的 TypeScript 全局声明

cypress - 如何使用不同的 Cypress.env() 变量进行 Circle 测试?

regression - 如何在进行 cypress 视觉回归时在测试运行之前删除所有屏幕截图

node.js - Protractor :检查链接是否包含特定文本。预期 [ true, true ] 为 [ true, true ]

javascript - 如何使用 Protractor 测试 mdToast 的渲染文本?

automated-tests - 是否可以将 "ERROR No tests to run"转为警告?

javascript - 使用 Cypress 从列表框中提取值

javascript - 在 Cypress 中查找鼠标位置

code-coverage - 从 Cypress.io 覆盖率报告中排除文件