2017-01-11 86 views
3

黄瓜特征文件和方案,使用黄瓜,我们创建由不同的场景不同功能的文件。我们记住的一件事是每个场景都独立于所有其他场景。并行执行

问:我们可以为所有的特征文件或方案做并行执行?

+0

普莱斯e分享你正在使用的黄瓜味道。针对不同的环境有不同的解决方案。 –

+0

@ThomasSundberg ..那么我使用java编码。你是什​​么意思的味道?请详细说明。 – Mirzab

+1

我的问题是你使用Cucumber-JVM,Cucumber for Ruby或Cucumber作为任何其他语言?有大约10种不同的实现可供选择。 –

回答

1

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

请查看以下链接:

  1. JVM-Parallel Execution Example

  2. Git-Hub Link

1

是的,因为这两个其他的答案表明,它不是开箱。

我为承载上述Cucumber-JVM文章的公司工作。验收测试 - 尤其是基于Web的测试 - 通常非常缓慢,并行测试是加速它们的好方法。您可能还想考虑在无头浏览器中运行Web测试,例如phantomJS。它们非常适合过夜运行,但我会在发布之前在Firefox或Chrome上测试它。您可能有浏览器特定的错误。

如果你正在运行Selenium测试,你可能想也考虑使用硒电网。上述方法在同一台机器上启动多个浏览器 - 但机器只能运行如此多的浏览器。 Selenium Grid将平衡多台机器上的测试。例如,你可以有5个节点并行运行5个并行测试= 25个并行测试!

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

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

下面是一些有用的链接:

1

感谢大家的帮助!我已经得到了答案。下面是逐步解决方案 Flavor - Cucumber-JVM IDE - Eclipse 1-什么? - 删除您的测试运行文件 为什么? - 对于并行测试,JVM会自动创建每个运动员每个并行处理 什么时候? - 这也许在你的pom.xml 为什么任何配置enter image description here

2 - 什么? - 添加下面提到属性之前的第一步? - 将新增后 当-Before在你的pom.xml 为什么编译

UTF-8

3-什么 - 添加下面提到的插件??? - 这会自动创建亚军 当?-Before编译

org.apache.maven.plugins Maven的万无一失,插件 2.19.1

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

ParllelExecution

4-什么? - 在你的POM.xml中添加下面提到的插件 为什么?当?-Before编译

com.github.temyers 黄瓜JVM的并行插件 2.2 - 这将创造上的功能或场景, 的基础上并行执行将创建杰森,HTML报告以及 。0 generateRunners 验证 generateRunners

    <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>   

ParallelExecutionSceanrio-Feature

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

+0

好解释Mirzab,我遵循所有步骤但是Cucumber输出目录“并行报告”不是在“目标”文件夹下创建的。你能分享你的完整pom.xml以供参考吗? – user3302083