Karate场景名称前自动添加[1:1:22]前缀如何移除?
移除Karate HTML报告中Scenario名称的位置前缀
问题原因
这个[1:1:22]前缀是Karate默认添加的,用来标记Scenario在feature文件中的位置信息(格式为[特征文件索引:场景索引:行号]),默认的报告名称风格为full。
解决方法
要移除该前缀,只需将Karate的报告名称风格设置为simple,有两种实现方式:
方式一:在测试运行器中设置系统属性
修改你的测试运行器类,添加@BeforeAll方法设置系统属性:
import com.intuit.karate.junit5.Karate; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.BeforeAll; public class MyTestRunner { @BeforeAll static void setup() { // 设置报告名称风格为simple,移除位置前缀 System.setProperty("karate.report.name.style", "simple"); } @DisplayName("My Card Feature") @Karate.Test Karate runCardTestFeature() { return Karate.run("classpath:features/card-test-feature.feature") .outputHtmlReport(true) .outputJunitXml(true) .backupReportDir(false); } }
方式二:通过karate-config.js配置
在src/test/resources目录下的karate-config.js中添加配置:
// 配置报告名称风格为simple karate.configure('reportNameStyle', 'simple');
注意事项
确保你的Karate版本(${karate.version})至少为1.0.0,这个配置项是在1.0.0版本及以上才支持的。如果使用旧版本,需要先升级Karate依赖。
内容的提问来源于stack exchange,提问作者Lester Gray
相关产品推荐
相关产品推荐

