Java 如何使用Gradle并行运行jvm测试场景?

Java 如何使用Gradle并行运行jvm测试场景?,java,selenium-webdriver,gradle,cucumber-jvm,qaf,Java,Selenium Webdriver,Gradle,Cucumber Jvm,Qaf,我无法找到使用gradle并行运行cucumber测试场景的最佳解决方案 到目前为止,找到的最佳解决方案是。。但我无法在本地成功运行它 非常感谢任何帮助 提前感谢。您应该尝试使用QMetry自动化框架。通过使用它,您可以并行运行单个场景。您将获得诸如TestNG xml运行配置、并行执行、步骤侦听器等功能 为了将现有的cucumber jvm项目转换为QAF,以下是STPE: 下载空白项目或 将功能文件复制到场景目录中 将java src文件复制到src目录中 将@QAFTestStepPro

我无法找到使用gradle并行运行cucumber测试场景的最佳解决方案

到目前为止,找到的最佳解决方案是。。但我无法在本地成功运行它

非常感谢任何帮助

提前感谢。

您应该尝试使用QMetry自动化框架。通过使用它,您可以并行运行单个场景。您将获得诸如TestNG xml运行配置、并行执行、步骤侦听器等功能

为了将现有的cucumber jvm项目转换为QAF,以下是STPE:

  • 下载空白项目或
  • 将功能文件复制到场景目录中
  • 将java src文件复制到src目录中
  • @QAFTestStepProvider
    注释放置在类定义步骤处
  • 创建XML配置文件并运行。您将在config dir下找到示例xml配置文件。对于小黄瓜,您的配置文件应如下所示:

您可以将标记用作运行配置筛选器和所有其他TestNG和QAF功能的组。

查看

您可以使用gradle任务执行此操作

它增加了在特性级别场景级别上并行运行cucumber测试的功能

它还提供了自动重新运行失败场景的选项

用法

@RunWith(Courgette.class)
@CourgetteOptions(
    threads = 10,
    runLevel = CourgetteRunLevel.SCENARIO,
    rerunFailedScenarios = true,
    showTestOutput = true,
    cucumberOptions = @CucumberOptions(
            features = "src/test/resources/features",
            glue = "steps",
            tags = {"@regression"},
            plugin = {
                    "pretty",
                    "json:target/courgette-report/courgette.json",
                    "html:target/courgette-report/courgette.html"}
    ))
    public class RegressionTestSuite {
    }

是否可以将我现有的cucumber jvm项目转换为QAF??(使用gradle、cucumber、junit和java)谢谢@Prashant Ramcharan!!我来看看。无法从maven或grade下载jar??在您的build.gradle中添加:repositories{jcenter()}RegressionTestSuite类需要在src/test/java中。您的功能文件应该在src/test/resourceswirgette中,它使用JUnit执行测试,目前我还没有包括小胡瓜CLI运行程序。尽管如此,您仍然可以在运行程序本身中指定多个标记,如下所示:tags={“@regression”,“~@WIP”}
@RunWith(Courgette.class)
@CourgetteOptions(
    threads = 10,
    runLevel = CourgetteRunLevel.SCENARIO,
    rerunFailedScenarios = true,
    showTestOutput = true,
    cucumberOptions = @CucumberOptions(
            features = "src/test/resources/features",
            glue = "steps",
            tags = {"@regression"},
            plugin = {
                    "pretty",
                    "json:target/courgette-report/courgette.json",
                    "html:target/courgette-report/courgette.html"}
    ))
    public class RegressionTestSuite {
    }