Selenium 使用 Maven 和 TestNG 进行并行测试
Selenium Parallel testing with Maven and TestNG
我正在尝试 运行 我的测试通过使用 2 个 xml 文件与 Maven 并行进行,但它似乎不起作用。
我尝试了 Maven 文档中的 steps/parameters:http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html
下面是我的 pom.xml 文件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>feature1.xml</suiteXmlFile>
<suiteXmlFile>feature2.xml</suiteXmlFile>-->
</suiteXmlFiles>
这是 feature1.xml 文件:
<suite name="tests">
<test name="feature1" group-by-instances="true">
<parameter name="browser" value="chrome"/>
<classes>
<class name="testclass"/>
</classes>
</test>
</suite>
我应该parameters/changes做什么才能让它工作?
谢谢
添加
<parallel>suites</parallel>
和
<threadCount>8</threadCount>
到你的pom文件的配置节点。 parallel 标签告诉 maven 运行 并行的套件,线程数告诉 maven 一次有多少个并行线程 运行。
我发布了我找到的解决方案,它终于奏效了:
我在配置节点中添加了这个:
<properties>
<property>
<name>suitethreadpoolsize</name>
<value>2</value>
</property>
</properties>
还有一个问题是我使用的是静态 WebDriver(Singleton class),这就是测试没有按顺序 运行 的原因。
我制作了方法 WebDriver public 并在每个测试 class 运行 中实例化它。现在测试 运行 并行成功。
您还可以在 xml 文件本身中进行配置,parallel="true" thread-count="8"
<test name="Basic validation" parallel="true" thread-count="8">
<classes>
<class name="Pages.Scenarios.AccumulationTestCases"/>
<class name="Pages.Scenarios.ScenarioTestCases"/>
<class name="Pages.Scenarios.AlertScenarios"/>
<class name="Pages.Alert.AlertTestCases"/>
<class name="Pages.Scenarios.DummyTest"/>
</classes>
</test>
我正在尝试 运行 我的测试通过使用 2 个 xml 文件与 Maven 并行进行,但它似乎不起作用。 我尝试了 Maven 文档中的 steps/parameters:http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html
下面是我的 pom.xml 文件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>feature1.xml</suiteXmlFile>
<suiteXmlFile>feature2.xml</suiteXmlFile>-->
</suiteXmlFiles>
这是 feature1.xml 文件:
<suite name="tests">
<test name="feature1" group-by-instances="true">
<parameter name="browser" value="chrome"/>
<classes>
<class name="testclass"/>
</classes>
</test>
</suite>
我应该parameters/changes做什么才能让它工作?
谢谢
添加
<parallel>suites</parallel>
和
<threadCount>8</threadCount>
到你的pom文件的配置节点。 parallel 标签告诉 maven 运行 并行的套件,线程数告诉 maven 一次有多少个并行线程 运行。
我发布了我找到的解决方案,它终于奏效了:
我在配置节点中添加了这个:
<properties>
<property>
<name>suitethreadpoolsize</name>
<value>2</value>
</property>
</properties>
还有一个问题是我使用的是静态 WebDriver(Singleton class),这就是测试没有按顺序 运行 的原因。 我制作了方法 WebDriver public 并在每个测试 class 运行 中实例化它。现在测试 运行 并行成功。
您还可以在 xml 文件本身中进行配置,parallel="true" thread-count="8"
<test name="Basic validation" parallel="true" thread-count="8">
<classes>
<class name="Pages.Scenarios.AccumulationTestCases"/>
<class name="Pages.Scenarios.ScenarioTestCases"/>
<class name="Pages.Scenarios.AlertScenarios"/>
<class name="Pages.Alert.AlertTestCases"/>
<class name="Pages.Scenarios.DummyTest"/>
</classes>
</test>