我希望运行功能文件(而不是场景)并行运行。
第一个特点:
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我用的是Cucumber-java和testng。我能够并行运行这些场景。但我真的很想并行运行这个特性。我已经为并行场景实现了下面的代码。
public class RunCucumberTest extends AbstractTestNGCucumberTests {
@Override
@DataProvider(parallel = true)
public Object[][] scenarios() {
return super.scenarios();
}
}发布于 2022-08-02 08:02:50
你不能用TestNg实现这一点。但是.你可以用JUnit4实现这一点。基本上,根据JUnit 4的黄瓜规格,这就是并行化的工作方式。
可以使用JUnit和Maven测试执行插件并行执行黄瓜。在JUnit中特性文件是并行运行的,而不是场景,这意味着一个特性文件中的所有场景都将由同一个线程执行。您可以使用Maven Surefire或故障安全插件来执行运行程序。
发布于 2022-07-27 00:42:23
你做不到。方案的目的是彼此独立执行。根据您正在测试的内容,您可以将一个功能文件中的所有场景转换为一个单独的场景。
但是,您应该考虑重写您的场景,使它们不依赖于以前场景中的操作。
这通常意味着编写以下场景:
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,可以重用已经编写的方法来实现第一个场景的步骤。
https://stackoverflow.com/questions/73113323
复制相似问题