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

Jenkins无法生成Cucumber报告问题求助

Jenkins Cucumber报告插件报错:JSON文件不是有效报告的排查方案

问题描述

已在Jenkins构建后操作中配置Cucumber报告,但持续报错,上周还能正常生成报告,目前无法成功生成。报错信息如下:

net.masterthought.cucumber.ValidationException: File '/var/lib/jenkins/jobs/HE_HQ_Automaton/builds/111/cucumber-html-reports/.cache/target/cucumber-reports/CucumberTestReport.json' is not a valid Cucumber report!
    at net.masterthought.cucumber.ReportParser.parseForFeature(ReportParser.java:104)
    at net.masterthought.cucumber.ReportParser.parseJsonFiles(ReportParser.java:72)
    at net.masterthought.cucumber.ReportBuilder.generateReports(ReportBuilder.java:97)
    at net.masterthought.jenkins.CucumberReportPublisher.generateReport(CucumberReportPublisher.java:563)
    at net.masterthought.jenkins.CucumberReportPublisher.perform(CucumberReportPublisher.java:434)
    at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
    at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:79)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:814)
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:763)
    at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1072)
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:707)
    at hudson.model.Run.execute(Run.java:1921)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
    at hudson.model.ResourceController.execute(ResourceController.java:101)
    at hudson.model.Executor.run(Executor.java:442)

排查与解决步骤

  • 检查目标JSON文件的完整性
    登录Jenkins服务器,定位到报错中的JSON文件路径,执行cat /var/lib/jenkins/jobs/HE_HQ_Automaton/builds/111/cucumber-html-reports/.cache/target/cucumber-reports/CucumberTestReport.json查看内容:

    • 如果文件为空,说明构建过程中Cucumber没有生成完整的报告,需检查测试执行阶段的日志,看是否有测试中断、异常导致报告生成失败
    • 如果文件内容存在JSON语法错误(比如括号不闭合、逗号缺失),说明报告生成过程中出现异常,需要修复测试代码或Cucumber执行配置
  • 验证版本兼容性
    检查项目中Cucumber核心依赖版本(如Maven中的io.cucumber:cucumber-java)与Jenkins上的Cucumber Reports插件版本是否匹配:

    • 若最近更新过Cucumber或插件,可能存在格式不兼容问题,回退到上周正常工作的版本测试
  • 清理Jenkins构建缓存
    报错路径包含.cache目录,可能是缓存文件损坏导致解析失败:
    执行命令删除对应构建的缓存目录:rm -rf /var/lib/jenkins/jobs/HE_HQ_Automaton/builds/111/cucumber-html-reports/.cache,然后重新触发构建

  • 核对报告路径配置
    再次确认Jenkins构建后操作中Cucumber Reports的配置:

    • 检查JSON report location的路径是否正确,是否存在拼写错误或路径层级变化
    • 确认路径是相对于Jenkins工作空间的相对路径,还是绝对路径,插件对路径的解析逻辑是否有变更
  • 检查构建日志细节
    回到该构建的完整日志,向前查找Cucumber测试执行的阶段,确认是否有报错信息(如测试用例执行失败、报告生成命令异常),这些问题可能导致最终生成的JSON报告无效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 11:40:28