如何在maven和Testng中运行并行套件

时间:2017-07-10 11:15:12

标签: maven testng maven-surefire-plugin

我希望测试套件与maven平行。 我的pom.xml如下所示:

<profiles>
        <profile>
            <id>API_AUTOMATION</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <version>2.19.1</version>
                        <configuration>
                            <parallel>suites</parallel>
                            <threadCount>8</threadCount>
                            <suiteXmlFiles>
                                <!-- TestNG suite XML files -->
                                <suiteXmlFile>./module1.xml</suiteXmlFile>                              
                             <suiteXmlFile>./module2.xml</suiteXmlFile>
                            </suiteXmlFiles>
                            <testSourceDirectory>src/main/java</testSourceDirectory>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
</profiles>

所有.xml个文件都是TestNG文件,它们是测试套件。 请让我知道,如何并行运行套件。

2 个答案:

答案 0 :(得分:1)

TestNG不支持Parallelmode“suites”,既不是通过Surefire也不是通过任何运行类型的TestNG。

来自文档中的command line options

-parallel    methods|tests|classes    If specified, sets the default 
                                      mechanism used to determine how 
                                      to use parallel threads when 
                                      running tests. If not set, 
                                      default mechanism is not to use 
                                      parallel threads at all. This can 
                                      be overridden in the suite 
                                      definition.

证据可在v6.11 sources of XmlSuite

中找到
public class XmlSuite implements Serializable, Cloneable {
  /** Parallel modes */
  public enum ParallelMode {
    TESTS("tests", false), METHODS("methods"), CLASSES("classes"), INSTANCES("instances"), NONE("none", false),

    ...
  }
  ...
}

这适用于TestNG 6.11及更早版本。

考虑将多个.xml文件中的测试添加到一个。{{}}和multiple <test> nodes {。}}的.xml文件中。{/ p>

答案 1 :(得分:1)

你可以试试 <threadCountSuites>8</threadCountSuites>属性,不设置线程计数属性或将其设置为0.