执行cypress run时如何获取失败测试用例的详细信息?
解决Cypress Run无法查看具体用例结果的问题
以下几种方法可以帮你获取测试用例的详细通过/失败信息:
调整终端输出详细度
默认情况下cypress run其实会输出每个测试用例的执行状态,但如果你的输出被简化,可添加--verbose参数强制打印详细日志:cypress run --verbose也可以在
cypress.config.js中配置全局日志级别,确保每个用例的执行细节都能在终端显示:const { defineConfig } = require('cypress') module.exports = defineConfig({ e2e: { setupNodeEvents(on, config) { // 自定义日志输出,聚焦测试用例状态 on('log:added', (log) => { if (log.displayName === 'test') { console.log(`[测试用例] ${log.message} - ${log.state}`) } }) }, env: { CYPRESS_VERBOSE: true } } })生成可视化测试报告
用Mochawesome生成HTML报告是最直观的方式,能清晰展示所有用例的执行结果、失败断言的堆栈信息:- 安装依赖:
npm install mochawesome mochawesome-merge mochawesome-report-generator --save-dev - 修改
cypress.config.js配置报告输出:module.exports = defineConfig({ e2e: { reporter: 'mochawesome', reporterOptions: { reportDir: 'cypress/reports/mochawesome', overwrite: false, html: false, json: true } } }) - 测试完成后合并并生成HTML报告:
npx mochawesome-merge cypress/reports/mochawesome/*.json > cypress/reports/mochawesome.json npx marge cypress/reports/mochawesome.json --reportDir cypress/reports
打开
cypress/reports/index.html就能查看完整的测试详情,包括失败用例的截图链接。- 安装依赖:
查看自动生成的截图与视频
Cypress默认会在测试失败时自动保存截图(路径:cypress/screenshots),同时全程录制测试视频(路径:cypress/videos)。直接查看截图能快速定位失败时的页面状态,视频则可回放整个测试流程,辅助排查问题。CI环境中保留测试产物
如果在CI平台(如GitHub Actions、GitLab CI)运行测试,记得开启详细日志,并将截图、视频、报告作为产物保存,方便后续查看。以GitHub Actions为例:- name: 运行Cypress测试 run: npx cypress run --verbose - name: 上传测试产物 uses: actions/upload-artifact@v3 if: always() # 无论测试成功与否都上传 with: name: cypress-test-artifacts path: | cypress/screenshots cypress/videos cypress/reports
内容的提问来源于stack exchange,提问作者Hossein Alipour
相关产品推荐
相关产品推荐

