在空手道选项中使用多个标签 运行

Using multiple tags to run in karate options

假设我有 4 个用空手道版本 0.9.0 编写的功能文件。 我正在用 @F1 标记 feature 1,用 @F2[ 标记 feature 2 =39=]、功能 3 使用 @F3功能 4 使用 @ F4.

另一方面,我有一个 运行ner class 放在所有这些功能文件的根目录中。现在我想 运行 @F1, @F2 AND @F3 但不是 @F4 标签.

我正在使用如下的 KarateOptions:

@KarateOptions(tags = {"@F1", "@F2", "@F3", "~@F4"} )

显然,我做错了什么,因为我的 cucumber-html-reports[=39 中没有出现任何输出=] 文件.

提前致谢。

编辑 1:这是我的全部 运行ner class 代码:

@KarateOptions(tags = {"@F1", "@F2", "@F3", "~@F4"} )
public class TestRunnerAutomation {

@Test
public void testParallel() {
    Results results = Runner.parallel(getClass(), 5);
    generateReport(results.getReportDir());
    assertTrue(results.getErrorMessages(), results.getFailCount() == 0);
}

public static void generateReport(String karateOutputPath) {
    Collection<File> jsonFiles = FileUtils.listFiles(new File(karateOutputPath), new String[] {"json"}, true);
    List<String> jsonPaths = new ArrayList(jsonFiles.size());
    jsonFiles.forEach(file -> jsonPaths.add(file.getAbsolutePath()));
    Configuration config = new Configuration(new File("target"), "demo");
    ReportBuilder reportBuilder = new ReportBuilder(jsonPaths, config);
    reportBuilder.generateReports();
}
}

对于使用 tags 和多个条件的 运行ning 测试,我们需要在标签中使用逻辑条件。

AND:

到 运行 每个同时具有 @F1 和 @F2 标签的功能。

{"@F1", "@F2"}

:

到 运行 每个具有 @F1 和 @F2 标签(运行 都有)的功能

{"@F1,@F2"}

合并 OR 和 AND:

到 运行 具有@F1、@F2、@F3 标签但没有@F4 标签的特征

{"@F1,@F2,@F3","~@F4"}