5月29日 01:09

如何配置 Cypress 测试报告和 CI/CD 集成?

Cypress 测试报告配置分两步:选 reporter、配参数。最常用的是 Mochawesome,在 cypress.config.js 中设 reporter 为 'mochawesome',通过 reporterOptions 指定 reportDir、overwrite: false、html: true、chart: true。如需合并多个 spec 的报告,搭配 mochawesome-merge 工具合并 JSON 再生成单份 HTML。CI/CD 集成的关键是:用 npx cypress run --reporter mochawesome 在无头模式执行;通过 --parallel 参数配合 Cypress Cloud 实现并行测试加速;用 actions/upload-artifact 收集报告和失败时的截图/视频;在 workflow 触发条件中绑定 push/pull_request 事件。失败截图和视频默认保存在 cypress/screenshots 和 cypress/videos 目录,CI 中应作为 artifact 上传以便排查。

追问

  • mochawesome-merge 的作用是什么?为什么多个 spec 会生成多份报告?
  • Cypress 的 --parallel 参数如何工作?不使用 Cypress Cloud 能实现并行吗?
  • 如何在 CI 中只在测试失败时才上传视频和截图?
  • Allure 报告和 Mochawesome 相比各有什么优劣?什么场景该选 Allure?
  • 如何在 GitHub Actions 中设置定时跑 Cypress 测试(cron 触发)?

写段代码

yaml
# .github/workflows/cypress.yml name: Cypress on: [push] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: npm ci - run: npx cypress run --reporter mochawesome - uses: actions/upload-artifact@v4 if: always() with: name: report path: cypress/results
标签:Cypress