You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Jenkins Pipeline运行Cypress测试时,如何在邮件正文显示测试用例Pass/Fail?

在Jenkins Pipeline中通过JSON报告显示Cypress测试结果到邮件正文

完全可以通过读取Cypress生成的JSON测试报告,在邮件正文中展示Pass/Fail结果,具体实现步骤如下:

1. 让Cypress生成JSON格式测试报告

运行Cypress时,通过参数指定生成JSON报告及存储路径:

npx cypress run --reporter json --reporter-options "mochaFile=reports/cypress-test-results.json"

2. 在Jenkins Pipeline中读取并解析JSON报告

使用Jenkins自带的readJSON步骤(需先安装Pipeline Utility Steps插件)读取报告文件,提取关键测试数据:

// 读取Cypress生成的JSON测试报告
def cypressTestResults = readJSON file: 'reports/cypress-test-results.json'

// 统计测试结果数据
def totalCases = cypressTestResults.tests.length
def passedCases = cypressTestResults.tests.count { it.state == 'passed' }
def failedCases = cypressTestResults.tests.count { it.state == 'failed' }
def overallStatus = failedCases > 0 ? 'FAIL' : 'PASS'

3. 将结果插入邮件正文

借助Email Extension Plugin(emailext步骤)构建自定义邮件内容,把解析出的测试数据动态插入:

emailext(
    subject: "Cypress自动化测试结果: ${overallStatus}",
    body: """
    <h3>Cypress测试执行汇总</h3>
    <p>总用例数: ${totalCases}</p>
    <p>通过用例数: ${passedCases}</p>
    <p>失败用例数: ${failedCases}</p>
    
    ${failedCases > 0 ? '<h4>失败用例详情:</h4><ul>' + cypressTestResults.tests.findAll { it.state == 'failed' }.collect { "<li>${it.title.join(' > ')}</li>" }.join('\n') + '</ul>' : ''}
    """,
    to: 'target-email@example.com'
)

注意事项

  • 确保Jenkins已安装Pipeline Utility Steps和Email Extension Plugin两个插件
  • 确认Cypress生成的JSON文件路径正确,且Jenkins有读取该文件的权限
  • 如需展示更详细的失败原因,可进一步解析JSON中failures字段的内容

内容的提问来源于stack exchange,提问作者Aarthy Vasudevan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 07:23:16