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

如何将变量值传入Karate汇总报告的Feature标题?

Karate报告副标题自定义方案(支持可重用Feature)

方案1:全局配置报告元数据

通过karate.configure()可以全局设置报告的副标题,变量值会直接注入,且对可重用Feature的报告片段生效:

# 在主Feature的Background或初始化脚本中定义
* def testEnv = "生产环境"
* def apiVersion = "v2.0.1"
* karate.configure('report', { subtitle: '测试环境: ' + testEnv + ' | API版本: ' + apiVersion })

该配置会作用于整个测试报告,包括可重用Feature生成的调用记录,无需单独处理可重用Feature。

方案2:自定义报告模板(进阶灵活控制)

如果需要针对不同场景/可重用Feature设置差异化副标题,可自定义HTML报告模板:

  1. 复制Karate默认的karate-report.html模板到项目资源目录
  2. 修改模板中的副标题区域,添加自定义变量占位符,例如:
<h2 class="report-subtitle">${customSubtitle}</h2>
  1. 在测试代码中通过全局变量传递自定义值,模板会自动读取渲染
  2. 运行测试时指定自定义模板路径:
mvn test -Dkarate.report.template=classpath:custom-karate-report.html

方案3:测试套件层面动态设置

若通过Java/JS测试套件执行测试,可在套件代码中动态生成副标题:

// Java测试套件示例
KarateStats stats = Karate.run("classpath:features")
    .tags("~@skip")
    .reportDir("target/karate-reports")
    .karateEnv("uat")
    .execute();

ReportGenerator reportGenerator = new ReportGenerator(stats, "target/karate-reports");
// 动态拼接变量生成副标题
reportGenerator.setSubtitle("环境: UAT | 构建版本: 20240520.1");
reportGenerator.generateHtml();

这种方式能在测试执行完成后,根据实际变量值灵活生成副标题,完全覆盖可重用Feature的报告展示。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 21:30:59