我有一个如下所示的 TestRunner:
public void myTests() {
Results results = Runner.path("classpath:...")
.outputCucumberJson(true)
.parallel(5);
Results initialResults = results;
}
我使用以下命令通过 Maven 运行测试:
mvn clean test -Dkarate.options="--tags @TestSuite1 classpath:myfolderoffeatures"
我想根据我通过 Maven 的测试动态更改当前设置为 5 的线程数
我尝试添加 -Dkarate.options="--threadcount=10" 但无法识别
到目前为止,只有标签和功能/路径可以通过
karate.options
覆盖。同时,您可以做的是将其作为单独的环境变量或等效变量传递,并从 Java 运行程序中将其解压。您可以编写多个 Java“入口点”来满足 CI 或其他方面的这些需求。
正如我在下面的评论中提到的,这可能是一个需要改进的领域。
我们将线程数作为参数传递给 maven 命令,但在 karate.options 之外,它对我们来说效果很好。
Results results = Runner
.path("classpath:")
.outputCucumberJson(true)
.reportDir(karateOutputPath)
.parallel(Integer.parseInt(System.getProperty("threadCount", "1")));
在上面的代码块中,threadCount是maven命令中的属性,如果maven命令中没有threadCount的系统属性,则1是默认线程数。
这是它在maven命令中的使用方式-
-Dkarate.env=UAT
-Dtest=RunTestsParallel
-Dkarate.options="--tags @runme12345"
-Dthread.count=5