testing - 使用多个标签在 Karate 选项中运行

标签 testing cucumber bdd karate

假设我有 4 个用 karate 版本 0.9.0 编写的功能文件。 我正在用 @F1 标记 feature 1,用 @F2 标记 feature 2feature 3 @F3特征 4 @F4

另一方面,我有一个运行器类,它位于所有这些功能文件的根目录中。现在我想运行 @F1@F2@F3 但不是 @F4 标签。

我正在使用如下的 KarateOptions:

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

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

提前致谢。

编辑 1:这是我的整个 runner 类代码:

@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();
}
}

最佳答案

要使用具有多个条件的标签运行测试,我们需要在标签中使用逻辑条件。

:

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

{"@F1", "@F2"}

:

要运行具有@F1 和@F2 标记之一的每个功能(同时运行)

{"@F1,@F2"}

结合 OR 和 AND:

运行具有@F1、@F2、@F3 标签但没有@F4 标签的功能

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

关于testing - 使用多个标签在 Karate 选项中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53863358/

相关文章:

testing - Selenium:从下拉列表中选择值,该值取决于在另一个下拉列表中选择的值

linux - 如何为 Linux 运行老化测试

cucumber - 按行号范围运行 Cucumber 场景大纲

testing - 如何在 Karate DSL 中操作 xml 文件的变量?

php - 如果事件已被分派(dispatch),如何在功能测试中进行测试

java - SpringBoot SpringApplicationBuilder

java - 搜索字符串,然后使用 Selenium 单击父 DIV

ruby - 在 Capybara 中模拟网络故障/离线模式?

node.js - 如何使用 vows.js 运行清理?

vue.js - 使用 Vue 测试工具和 Jest 测试 Vuetify 表单验证