我有以下配置用于使用selenium进行webtesting: eclipse + maven + testng,2个节点的selenium网格。 第一个节点:ie10 + firefox;第二个节点:ie11 + chrome。 我需要为节点连续执行测试,但对节点并行执行。当前配置为两个节点启动两种方法。是否有可能重新配置testng和maven以满足我的需求?我没有可能为每个浏览器启动4台机器,只有2台。 这是我的testng xml
<suite name="Test Suite" thread-count="4" parallel="tests">
<test name="Tests - ie10">
<parameter name="browser" value="ie10"/>
<classes>
<class name="TestExportConfiguration"></class>
</classes>
</test>
<test name="Tests - chrome">
<parameter name="browser" value="chrome"/>
<classes>
<class name="TestExportConfiguration"></class>
</classes>
</test>
<test name="Tests - firefox">
<parameter name="browser" value="firefox"/>
<classes>
<class name="TestExportConfiguration"></class>
</classes>
</test>
<test name="Tests - ie11">
<parameter name="browser" value="ie11"/>
<classes>
<class name="TestExportConfiguration"></class>
</classes>
</test>
和maven插件配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>target/test-classes/testng.xml</suiteXmlFile>
</suiteXmlFiles>
<systemPropertyVariables>
<browser>${browser}</browser>
</systemPropertyVariables>
<properties>
<property>
<name>usedefaultlisteners</name>
<value>true</value>
</property>
<property>
<name>listener</name>
<value>org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReporter</value>
</property>
</properties>
<workingDirectory>target/</workingDirectory>
</configuration>
答案 0 :(得分:1)
一个选项是创建2个套件文件 - 将其添加到1个套件文件中。在一个套件文件中 把
<suite name="Test Suite" thread-count="4" parallel="tests">
<test name="Tests - ie10">
<parameter name="browser" value="ie10"/>
<classes>
<class name="TestExportConfiguration"></class>
</classes>
</test>
<test name="Tests - chrome">
<parameter name="browser" value="chrome"/>
<classes>
<class name="TestExportConfiguration"></class>
</classes>
</test>
在另一个用firefox和ie11的其他用parallel = tests。 将这两个套件文件添加到一个套件文件中。