【发布时间】:2018-04-05 03:49:03
【问题描述】:
当我从testng.xml 运行黄瓜测试时,场景不会并行执行。情景一个接一个地执行。我在testng.xml 文件中使用线程和并行配置,并使用surefire 插件来运行这些功能。
在 Testrunner 中,我提到了我有多个功能文件的网站文件夹。
所以当我使用 Maven 运行测试时,它总是一个接一个地执行功能文件,而不是并行执行。实现这一目标的最佳方法是什么?
请检查以下配置:
**Version of testng:**
<org.testng.testng.version>6.14.2</org.testng.testng.version>
<io.cucumber.cucumber-testng.version>2.4.0</io.cucumber.cucumber-testng.version>
**Surefire Plugin configuration from pom.xml:**
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version></version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>Testng.xml</suiteXmlFile>
</suiteXmlFiles>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
**Testng.xml file:**
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Local" parallel="tests" thread-count="5" verbose="2">
<listeners>
<listener class-name="driver.LocalWebDriverListener" />
<listener class-name="reports.ExecutionListeners" />
</listeners>
<test name="Test in Chrome">
<parameter name="browserName" value="chrome" />
<classes>
<class name="testRunner.Windows7Chrome60" />
</classes>
</test>
</suite>
**TestRunner file in which Website is the folder where I have got multiple features:**
@CucumberOptions(
strict = true,
monochrome = true,
features = {"src/main/java/features/Website"},
dryRun = false,
glue = {"driver", "stepDefination", "testRunner" },
tags = {},
plugin = { "pretty", "json:target/RawJsonResult/Windows7Chrome60.json"}
)
public class Windows7Chrome60 extends AbstractTestNGCucumberTests{
}
【问题讨论】:
-
testng.xml 中只有一个测试标签,并且并行设置为“tests”。您是否尝试过与“方法”并行
-
是的,我已经尝试过使用这些方法,使用这些方法也可以一个一个地执行场景,但不是并行执行。我正在寻找的是从 testng.xml 调用测试运行程序并并行运行我们在该测试运行程序中拥有的所有功能。
-
Afaik Cucumber 不支持并行执行。您可能需要使用额外的插件,例如 this one
标签: maven parallel-processing cucumber testng cucumber-jvm