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>