当前位置: 首页 > 知识库问答 >
问题:

并行运行的标记逻辑

贾兴学
2023-03-14

通过并行方法进行标记的逻辑与cucumber选项不同。如果有一些文档就好了。

mvn-D选项="--tags@集成--tags@x--tags~@wip"不适用于标签为集成或x的场景

基于我的理解,上面表示@CucumberOptions(tags={"@集成","@x","~@wip"}

如果我给mvn-Doptions=“--tags@integration,@x”,那么它将使用tag integration或x执行场景。

public static List<String> setTags(String options){
    logger.info("Tag input from  maven command:"+options);
        logger.info("Parsing all the tags");
        List<String> allTags = new ArrayList<>();
        List<String> tags = Arrays.asList(options.split("--tags"));
        for (String tag : tags) {
            if (StringUtils.isNotEmpty(tag)) {
                logger.info("Tags selected are:" + tag.trim());
                allTags.add(tag);
            }
        }
        return allTags;

}

public static List<String> getTags(){
    if(StringUtils.isNotEmpty(System.getProperty("options"))) {
        return setTags(System.getProperty("options"));
    }else throw new RuntimeException("Please select a tag for execution");
}

并行方法,在该方法中,我获取控制器中的所有功能文件,并将标记作为列表传递。

    KarateStats stats = CucumberRunner.parallel(PipelineRunner.getTags(), PipelineRunner.getAllFeatureFiles(featureDir), 1, karateOutputPath);

文件1@集成

场景:诸如此类

文件2@x

场景:废话

共有1个答案

劳通
2023-03-14

基于我的理解,上面表示@CucumberOptions(tags={"@集成","@x","~@wip"}

不,那是错的。参考这篇博文,它甚至链接到空手道文档:https://testingneeds.wordpress.com/2015/09/15/junit-runner-with-cucumberoptions/

这应该是你要找的。

@CucumberOptions(tags = {"@integration,@x", "~@wip"})

如果您仍然看到问题,我们可以解决-但请遵循以下流程:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

 类似资料:
  • 我有超过50种不同类型的输入,我在功能文件中的Example关键字下定义了这些输入,执行这些输入需要花费更多的时间。有没有办法并行运行这些输入?。我不想让任何人来测试这种方法。请帮忙。

  • 我目前正在尝试使用Cucumber实现并行测试运行。我设法使用万无一失的插件同时运行了两个不同的运行程序。现在我想检查是否可以并行运行SingleRunner文件多次。 我有一个签名测试。所以我需要在几个平台上并行运行。有可能吗? 这是我的跑步者档案 无跑道进近 工厂级 `导入org . open QA . selenium . web driver; ` 阶梯班 导入org.openqa.sel

  • 问题内容: 我有要并行处理的元素的集合。当我使用时,并行性有效。但是,当我使用时,它不会并行运行。 我写了一个代码样本来说明问题: 这是我在Windows 7上获得的输出 我们可以看到中的第一个元素必须在处理第二个元素之前完成。对于,第二个元素在第一个元素结束之前开始。 您能否告诉我是什么原因导致此问题,以及如何使用集合避免发生此问题? 问题答案: 我可以重现您看到的行为,其中并行性与您指定的fo

  • 为了减少测试的运行时间,我希望并行运行测试。我有几个不能并行运行的类。 假设我有两种类型的类:-并行类-包含类1,类2-不并行类-包含类3,类4我想并行运行类1和类2到类3和类4(但lass3不会并行运行到类4) 我试图这样做: 我并行运行这两个测试,但只有第一个测试具有类的并行性。 如果我可以选择添加parallel=“classes”进行测试,我尝试在TestNG文档中搜索。我看不到,但它正在

  • 大家好,如果有人能帮忙的话——我正在尝试使用Cucumber标签运行一个特定的场景——这是我用来运行用Webdriver-Cucumber框架构建的测试的表达式- npx wdio运行wdio。conf.js——cucumber。tagExpression='@Tag 当我使用上面的命令时,什么也不会发生——我已经在功能级别定义了标记-“@tag”——所以我希望功能文件中的所有场景都会得到执行,但

  • 问题内容: 我有一个shell脚本 随机播放大型文本文件(600万行和6列) 根据第一列对文件进行排序 输出1000个文件 所以伪代码看起来像这样 有没有一种方法可以运行此Shell脚本以充分利用多核CPU? 在这一刻, 。按1到1000的顺序执行,非常慢。 谢谢你的帮助。 问题答案: 查看bash子外壳程序,这些外壳程序可用于并行运行脚本的各个部分。 我还没有测试过,但这可能是一个开始: