Karate框架是否支持生成包含全量历史测试报告的汇总报告?
Karate 跨批次测试报告汇总能力说明
Karate 原生默认报告逻辑不直接支持跨多次独立测试运行的自动历史汇总+日期标注,但通过官方自带的工具组合,完全可以实现你要的效果,不需要接入第三方重平台。
- 先讲默认运行的报告逻辑:每次触发Karate测试执行(不管是跑Runner类还是走mvn/gradle test命令),默认会把本次执行的报告输出到
target/karate-reports目录,且执行前会清空目录下的旧文件,单份默认生成的HTML报告只会记录当次运行的用例结果,不会自动留存历史执行数据。 - 具体实现汇总的操作方法:
- 先调整执行配置,关掉执行前清空报告目录的默认逻辑,每次跑测试的时候给本次结果单独建带日期标识的子目录存放,比如按
target/karate-reports/20240620-first-run、target/karate-reports/20240621-second-run的规则命名,目录名直接对应报告生成日期,从存储层面先把所有历史批次的报告留存好。 - 用Karate官方自带的报告聚合模块做统一汇总,你只需要在执行聚合命令时,把所有历史批次目录下的
karate-results.json结果源文件路径全部传入,工具就会自动把所有批次的用例执行结果、通过率统计、失败详情整合到一份统一的汇总HTML报告里。 - 如果需要在汇总报告里明确标注每份历史报告的生成日期,你可以直接修改聚合报告的默认模板,自动读取每个结果文件所属目录的日期戳做展示,模板改起来很简单,不需要写复杂的解析逻辑;如果不想改模板,直接在汇总报告的自定义标题、备注区手动标注每个批次的执行日期、覆盖用例范围也可以。
- 先调整执行配置,关掉执行前清空报告目录的默认逻辑,每次跑测试的时候给本次结果单独建带日期标识的子目录存放,比如按
- 避坑提示:不要直接把不同批次生成的独立HTML文件硬拼接成汇总报告,一定要基于每次执行生成的JSON结果源文件做聚合,不然会出现样式错乱、统计数据不准、失败日志缺失的问题。
内容的提问来源于stack exchange,提问作者vivek sethi
相关产品推荐
相关产品推荐

