如何在本地运行所有场景时生成类Jenkins的Cucumber HTML报告
生成Jenkins风格的Cucumber本地HTML报告
你当前的Cucumber配置已经能生成基础HTML报告,但要得到和Jenkins一致样式的报告,需要借助第三方工具实现,具体步骤如下:
1. 添加依赖
如果用Maven,在pom.xml中加入以下依赖:
<dependency> <groupId>net.masterthought</groupId> <artifactId>cucumber-reporting</artifactId> <version>5.7.0</version> <!-- 可替换为最新稳定版本 --> <scope>test</scope> </dependency>
如果用Gradle,在build.gradle中添加:
testImplementation 'net.masterthought:cucumber-reporting:5.7.0'
2. 保留JSON报告配置
你当前plugin里的json:target/cucumber.json必须保留,第三方报告工具需要读取这个JSON文件作为数据源生成样式化报告。
3. 编写报告生成代码
创建一个Java类(比如GenerateJenkinsStyleReport.java),用来触发报告生成:
import net.masterthought.cucumber.Configuration; import net.masterthought.cucumber.ReportBuilder; import java.io.File; import java.util.ArrayList; import java.util.List; public class GenerateJenkinsStyleReport { public static void main(String[] args) { // 指定报告输出目录 File reportDir = new File("target/JenkinsStyleCucumberReport"); // 配置JSON报告路径 List<String> jsonPaths = new ArrayList<>(); jsonPaths.add("target/cucumber.json"); // 设置报告基本信息 Configuration config = new Configuration(reportDir, "你的项目名称"); config.setBuildNumber("1"); // 可自定义构建编号,模拟Jenkins构建号 // 生成报告 ReportBuilder builder = new ReportBuilder(jsonPaths, config); builder.generateReports(); } }
4. 运行流程
- 先执行你的Cucumber测试,确保
target/cucumber.json文件生成 - 运行上述类的main方法
- 打开
target/JenkinsStyleCucumberReport/index.html,就能看到和Jenkins一致风格的Cucumber报告了
内容的提问来源于stack exchange,提问作者Hemadri Reddy
相关产品推荐
相关产品推荐

