当前位置: 首页 > 知识库问答 >
问题:

使用Maven和TestNG进行Selenium并行测试

马晓博
2023-03-14

我正在尝试使用2个xml文件与Maven并行运行我的测试,但似乎不起作用。我已经尝试了Maven留档中的步骤/参数: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>

这是功能1.xml文件:

<suite name="tests">
    <test name="feature1" group-by-instances="true">
        <parameter name="browser" value="chrome"/>
        <classes>
            <class name="testclass"/>
        </classes>
    </test>
</suite>

我应该做哪些参数/更改才能使其生效?

谢谢你

共有3个答案

汪兴旺
2023-03-14

您也可以在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>
乐正浩博
2023-03-14

我正在发布我找到的解决方案,它毕竟有效:

我已将其添加到配置节点中:

<properties>
<property>
<name>suitethreadpoolsize</name>
<value>2</value>
</property>
</properties>    

另外,我使用的是静态WebDriver(Singleton类),这也是测试没有按顺序运行的原因。我已经公开了WebDriver方法,并在每个测试类运行器中实例化了它。现在测试成功地并行运行了。

宋宏儒
2023-03-14

添加

<parallel>suites</parallel>

<threadCount>8</threadCount>

到pom文件的配置节点。并行标签告诉maven并行运行套件,线程计数告诉maven一次运行多少个并行线程。

 类似资料:
  • 需要一些帮助来获得并行运行testng测试用例的正确方法。

  • 我一个类有5到6个方法,想在不同的节点上并行运行方法,我有网格2设置,里面有4个节点。 下面是我的测试。xml 我有一个测试工具,它初始化了login、common和utils类 在我的测试类中,我扩展了测试工具,在@Beforemethod中,我调用了inilze方法 如果我运行测试,我会看到以下问题 两个浏览器在每个节点中打开一个,但只有一个浏览器启动应用程序,另一个不启动。 如果我遗漏了什么

  • 有没有任何一个测试REST API的使用硒网络驱动程序Maven TestNG。请分享信息或样本项目

  • 我正在构建一个网络项目,它使用Maven进行构建,并使用泽西进行RESTful API。我使用TestNG和泽西测试框架编写了单元测试,并在内存中运行它们,而不是在网络服务器上。 在我的测试中,我对MySQL数据库进行了JDBC调用,并得到了一些结果。当我使用TestNG for Eclipse插件从Eclipse内部运行时,测试运行良好。但是,当我尝试使用以下两个命令之一从Maven运行时: 或

  • 我正在使用testNg硒网格进行测试会话,我对整个东西非常满意 关键是测试的数量正在增长,现在它们至少需要 3 小时才能执行(在 30 个浏览器上进行 -100 次测试) 我计划进行 -150 次测试,所以,正如您可以想象的那样,我必须找到一个解决方案并并行启动它们 我试图玩一下这个,但没有现在很幸运,我现在看到的是两个浏览器启动,但只有一个通过测试。另一个只是等待:-)测试的结构如下,基本上 1

  • 问题内容: 我有一个测试,可以从数据提供者那里接收数据。我希望此测试与数据提供者的不同值并行运行。 我尝试了类似的方法: } 我收到的输出是: 你好:10 你好:12 你好:17 你好:11 你好:16 你好:14 你好:13 你好:15 产生10个线程,而我在线程池大小中指定5个。您能否告诉我们必须在上述代码段中添加哪些内容来控制数据提供程序线程池的大小。 问题答案: 您需要使用。在和不需要的值