
通过 Serenity BDD 的聚合报告(serenity:aggregate),可自动生成包含总执行时长、通过/失败/跳过用例数量等关键指标的 HTML 汇总报告,无需手动统计。
通过 serenity bdd 的聚合报告(`serenity:aggregate`),可自动生成包含总执行时长、通过/失败/跳过用例数量等关键指标的 html 汇总报告,无需手动统计。
在基于 Java + Serenity + Cucumber 的自动化测试项目中,测试执行后的核心质量指标——如总执行时长(Total Duration)、通过用例数(Passed)、失败用例数(Failed)、以及跳过(Skipped)、待定(Pending)等状态统计——并非由测试框架直接以 API 形式暴露,而是内置于 Serenity 生成的静态聚合报告中。这些数据由 Serenity 在 target/site/serenity/ 目录下生成的 index.html(即单页汇总报告)自动计算并可视化呈现。
✅ 正确获取方式:执行聚合报告生成命令
确保项目已正确配置 Serenity Maven 插件(推荐使用最新稳定版,如 3.10.0 或更高):
<plugin>
<groupId>net.serenity-bdd.maven.plugins</groupId>
<artifactId>serenity-maven-plugin</artifactId>
<version>${serenity.version}</version>
<configuration>
<reports>single-page-html</reports>
<!-- 可选:启用多页报告或 JSON 输出 -->
<!-- <reports>multi-page-html,json</reports> -->
</configuration>
<executions>
<execution>
<id>serenity-reports</id>
<phase>post-integration-test</phase>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>⚠️ 注意:<dependencies></dependencies> 块在较新版本(≥ 3.6.0)中通常不再需要,插件会自动解析对应 Serenity 核心依赖;若使用旧版,可按原答案保留,但建议升级以简化配置。
执行以下任一命令触发报告生成:
# 方式1:命令行运行(需先完成测试执行,如 mvn verify) mvn serenity:aggregate # 方式2:IntelliJ IDEA 中右键项目 → Maven → serenity:aggregate # 方式3:绑定至生命周期(如上配置中的 executions),执行 mvn verify 即自动聚合
生成后,打开 target/site/serenity/index.html,即可在首页顶部「Summary」区域直观查看:
- ✅ Total Duration: 如
2m 48s(含所有测试步骤、钩子、截图等耗时) - ✅ Passed / Failed / Skipped / Pending / Undefined: 各状态用例精确计数(基于 Cucumber Scenario 粒度)
- ✅ 图表与表格形式同步展示趋势、功能模块分布、失败原因分类等深度信息
? 进阶提示:
- 若需程序化读取这些数值(例如用于 CI 状态校验或飞书/企微通知),可解析生成的
target/site/serenity/serenity-summary.json文件——该 JSON 包含totalDuration,testResults.passed,testResults.failed等结构化字段; - 确保
serenity.conf或serenity.properties中未禁用报告生成(如serenity.skip.reports=true); - 多线程执行(
forkCount)不影响统计准确性,Serenity 在聚合阶段统一归并结果。
总之,Serenity 的设计哲学是「报告即真相」——所有核心指标均由官方聚合逻辑权威生成,避免手工遍历 *.json 或日志解析带来的误差与维护成本。坚持使用 serenity:aggregate,既是最佳实践,也是最可靠的数据来源。

















