【问题标题】:Cucumber Feature Files and scenarios for parallel executionCucumber 特征文件和并行执行的场景
【发布时间】:2017-05-26 00:46:01
【问题描述】:

使用 Cucumber,我们创建了包含不同场景的不同功能文件。我们要记住的一件事是,每个场景都独立于所有其他场景。

问题:我们可以对所有功能文件或场景进行并行执行吗?

【问题讨论】:

  • 请分享你用的是什么口味的黄瓜。不同的环境有不同的解决方案。
  • @ThomasSundberg .. 好吧,我正在使用 java 进行编码。你说的味道还有什么意思?请详细说明。
  • 我的问题是您使用 Cucumber-JVM、Cucumber 用于 Ruby 还是 Cucumber 用于任何其他语言?有大约 10 种不同的实现可供选择。
  • 谢谢@ThomasSundberg .. 我正在使用 Cucumber-JVM

标签: cucumber


【解决方案1】:

开箱即用 Cucumber 不支持并行测试。您可以使用 Maven 运行并行测试。我们有一个 github 项目检查这个链接。它有一些关于并行测试的细节。

查看这些链接:

  1. JVM-Parallel Execution Example

  2. Git-Hub Link

【讨论】:

    【解决方案2】:

    是的,正如其他两个答案所暗示的那样,它不是开箱即用的。

    我为托管上述 Cucumber-JVM 帖子的公司工作。验收测试——尤其是基于 Web 的测试——通常非常慢,而并行测试是加速它们的好方法。您可能还需要考虑在无头浏览器中运行 Web 测试,例如 phantomJS。它们非常适合通宵运行,但我会在发布前在 Firefox 或 chrome 上对其进行测试。您可能有特定于浏览器的错误。

    如果您正在运行 Selenium 测试,您可能还需要考虑使用 Selenium Grid。上述方法在同一台机器上启动多个浏览器 - 但机器只能运行这么多浏览器。 Selenium Grid 将平衡多台机器的测试。因此,例如,您可以让 5 个节点运行 5 个并行测试,每个节点 = 25 个并行测试!

    如果并行运行许多测试,请记住测试应该是隔离的 - 理想情况下拥有并删除它们自己的数据。不要假设任何其他测试的顺序 (we use aliasing to get around this)。

    哦,如果你把它真的调高,你最终会得到一个性能测试。所以要小心!

    这里有一些方便的链接:

    【讨论】:

      【解决方案3】:

      感谢大家的帮助!!我得到了答案。以下是逐步解决方案 风味 - Cucumber-JVM IDE - 日食 1-什么?-删除您的测试运行程序文件 为什么? -对于并行测试,JVM自动为每个并行进程创建每个运行器 什么时候?-这可能是任何 config

      之前的第一步

      2- 什么?- 在您的 POM.xml 中添加下面提到的属性 为什么? -稍后会添加这个 什么时候?-编译前

      3- 什么?- 在您的 POM.xml 中添加下面提到的插件 为什么? - 这将自动创建跑步者 什么时候?-编译前

      org.apache.maven.plugins maven-surefire-插件 2.19.1

                <configuration>
                    <additionalClasspathElements>
                        <additionalClasspathElement>resources</additionalClasspathElement>
                    </additionalClasspathElements>
                    <forkCount>5</forkCount>
                    <reuseForks>true</reuseForks>
                    <includes>
                        <include>**/*IT.class</include>
                    </includes>
                </configuration>
      

      4- 什么?- 在您的 POM.xml 中添加下面提到的插件 为什么? - 这将基于 FEATURE 或 SCENARIO 创建并行执行,并且 也会创建 jason,HTML 报告 什么时候?-编译前

      com.github.temyers cucumber-jvm-parallel-plugin 2.2.0 生成跑步者 证实 生成跑步者

                        <configuration>
                            <glue>russel.StepDefination.Option1.IN451</glue>
                            <featuresDirectory>Login</featuresDirectory>
                            <cucumberOutputDir>target/Parallel-report</cucumberOutputDir>
                            <format>json,html</format>
                            <parallelScheme>SCENARIO</parallelScheme>
                            <!-- <parallelScheme>FEATURE</parallelScheme> -->
      
                        </configuration>
                    </execution>
                </executions>           
      

      5- 转到控制台并运行 commomd - mvn 清洁 - mvn 编译 - mvn 验证

      【讨论】:

      • 很好的解释 Mirzab,我按照所有步骤操作但 Cucumber 输出目录“Parallel-report”未在“target”文件夹下创建。您能否分享您的完整 pom.xml 以供参考?
      【解决方案4】:

      确实有可能。

      有关所有信息和致谢,请参见此链接:http://shashikantjagtap.net/running-cucumber-features-in-parallel-and-aggregating-reports/

      希望对你有帮助

      【讨论】:

        猜你喜欢
        • 2022-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-25
        相关资源
        最近更新 更多