我在我的项目中有几个测试功能,到目前为止,我正在使用带有线程数的运行程序并行运行它们。但这里的问题是优化执行时间,因为这些线程花费更长的时间来完成测试场景
是否有更好的方法可以并行执行测试场景?
任何帮助..非常感谢!!
答案 0 :(得分:1)
看一下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 {
}
答案 1 :(得分:0)
尝试使用QAF gherkin它并行运行场景而不是功能。您需要使用框架提供的工厂类,并使用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
下的功能文件中可用的方案。