我们可以根据标签的条件在单个命令中执行Cucumber Test吗?如果@smoke结果通过,则只执行@Regression

问题描述 投票:0回答:1

我有一种情况/要求创建单个运行命令或脚本文件,如果结果通过,它将首先执行@Smoke标签测试,然后执行@Regression标签,否则中止执行。

我们有 BDD(cucumber + Selenium + Java)和 Maven 项目。这可以实现吗?

maven selenium-webdriver automated-tests cucumber-java
1个回答
0
投票

如果您将 Cucumber 与 JUnit 5 结合使用,那么您可以使用 JUnit Platform Launcher API 以编程方式运行测试。

public class RunCucumber {

   public static void main(String[] args) {

      LauncherDiscoveryRequest request = request()
              .selectors(
                      selectDirectory("path/to/features")
              )
              .filters(
                      includeTags("smoke"),
              )
              .build();

      Launcher launcher = LauncherFactory.create();
      SummaryGeneratingListener listener = new SummaryGeneratingListener();
      launcher.registerTestExecutionListeners(listener);
      launcher.execute(request);

      TestExecutionSummary summary = listener.getSummary();
      // Do something with summary

      // Repeat for regression tests if needed.
   }

}
© www.soinside.com 2019 - 2024. All rights reserved.