在并行机上连续运行testng测试

时间:2014-05-12 11:53:48

标签: maven testng selenium-grid

我有以下配置用于使用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>

1 个答案:

答案 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。 将这两个套件文件添加到一个套件文件中。