黄瓜测试场景 运行 并行?
Cucumber test scenarios running in parallel?
我在我的项目中有几个测试功能,到目前为止我 运行 它们并行使用运行器 类 和线程数..但这里的问题是优化执行时间,因为在这些线程需要更长的时间来完成测试场景
是否有更好的并行执行测试场景的方法?
任何帮助..非常感谢!!
尝试并行使用 QAF gherkin 它 运行 的场景而不是功能。您需要使用框架提供的工厂 class 并使用 testNG xml 配置您的执行。下面是示例配置文件:
<test name="Gherkin-QAF-Test" parallel="methods">
<parameter name="step.provider.pkg" value="com.qmetry.qaf.automation.impl.step.qaf" />
<parameter name="scenario.file.loc" value="resources/features" />
<classes>
<class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
</classes>
</test>
以上配置将在 resources/features
下的功能文件中并行提供 运行 个场景。
看看Courgette-JVM
它增加了 运行 在特征级别或场景级别并行测试黄瓜的功能。
它还提供了一个选项来自动重新运行失败的场景。
用法
@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 {
}
我在我的项目中有几个测试功能,到目前为止我 运行 它们并行使用运行器 类 和线程数..但这里的问题是优化执行时间,因为在这些线程需要更长的时间来完成测试场景
是否有更好的并行执行测试场景的方法?
任何帮助..非常感谢!!
尝试并行使用 QAF gherkin 它 运行 的场景而不是功能。您需要使用框架提供的工厂 class 并使用 testNG xml 配置您的执行。下面是示例配置文件:
<test name="Gherkin-QAF-Test" parallel="methods">
<parameter name="step.provider.pkg" value="com.qmetry.qaf.automation.impl.step.qaf" />
<parameter name="scenario.file.loc" value="resources/features" />
<classes>
<class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
</classes>
</test>
以上配置将在 resources/features
下的功能文件中并行提供 运行 个场景。
看看Courgette-JVM
它增加了 运行 在特征级别或场景级别并行测试黄瓜的功能。
它还提供了一个选项来自动重新运行失败的场景。
用法
@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 {
}