![](/img/trans.png)
[英]Run scenarios in a cucumber feature file in parallel, one feature file at a time
[英]How to Run cucumber Feature files in parallel
我想运行功能文件(不是场景)以并行运行。
第一个特点:
Feature: Refund item for Jeff
Scenario: 01 Collect Details
Given Collect Jeff details
And Collect receipts for purchase
Scenario: 02 Refund
When Jeff returns the microwave
Then Jeff should be refunded $100
第二个特点:
Feature: Refund item for Dave
Scenario: 01 Collect Details
Given Collect Dave details
And Collect receipts for purchase
Scenario: 02 Refund
When Dave returns the microwave
Then Dave should be refunded $100
我正在使用带有 testng 的 Cucumber-java。 我能够并行运行这些场景。 但我真的很想并行运行功能。 我已经为并行场景实现了下面的代码。
public class RunCucumberTest extends AbstractTestNGCucumberTests {
@Override
@DataProvider(parallel = true)
public Object[][] scenarios() {
return super.scenarios();
}
}
你不能。 场景旨在彼此独立地执行。 根据您要测试的内容,您可以将功能文件中的所有场景转换为单个场景。
但是,您应该考虑重写您的场景,使它们不依赖于先前场景中的操作。
通常这意味着编写如下场景:
Scenario: Do a thing
Given a thing
When a thing is used
Then something happens
Scenario: Do another thing next
Given a thing that was used
When a thing is used again
Then something else happens
要实现a thing that was used
您可以重用您已经编写的方法来实现第一个场景的步骤。
您无法使用TestNg
实现这一目标。 但。 您可以使用JUnit4
来实现。 基本上这就是根据Cucumber 规范对JUnit 4
进行并行化的方式。
Cucumber 可以使用 JUnit 和 Maven 测试执行插件并行执行。 在 JUnit 中,功能文件是并行运行的,而不是场景,这意味着一个功能文件中的所有场景都将由同一个线程执行。 您可以使用 Maven Surefire 或 Failsafe 插件来执行运行器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.