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

测试NG - 并行执行测试套件

齐鹏程
2023-03-14

有4个类包含测试< code>TestClass1、TestClasss2、TestClass3、TestClass4。您需要创建2个测试套件,每个套件将包含2个类,并使用< code>Maven surefire插件并行运行它们。

我创建了两个包含以下内容的xml文件:

<suite name="TestSuite" verbose="1">
    <test name="Test">
        <classes>
            <class name="Tests.TestClass1">
            </class>
            <class name="Tests.TestClass2">
            </class>
        </classes>
    </test>
</suite>

<suite name="TestSuite1" verbose="1">
    <test name="Test1">
        <classes>
            <class name="Tests.TestClass3">
            </class>
            <class name="Tests.TestClass4">
            </class>
        </classes>
    </test>
</suite>

也添加到pom中。maven-surefire-plugin中的xml:

<configuration>
       <suiteXmlFiles>
           <suiteXmlFile>Testng.xml</suiteXmlFile>
           <suiteXmlFile>Testng1.xml</suiteXmlFile>
       </suiteXmlFiles>
       <parallel>suite</parallel>
       <perCoreThreadCount>false</perCoreThreadCount>
       <threadCount>2</threadCount>
</configuration>

接下来,我用命令< code>mvn clean test运行项目,项目将要运行,但是测试没有开始。我哪里错了?

UPD:

项目正在构建,但是测试没有开始

文件testng.xml位于根文件夹

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.469 sec - in T
estSuite

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.288 s
[INFO] Finished at: 2018-08-27T15:52:21+03:00
[INFO] ------------------------------------------------------------------------

共有1个答案

虞正业
2023-03-14

请尝试以下配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.22.0</version>
    <configuration>
        <suiteXmlFiles>
            <file>src/test/resources/testng.xml</file>
            <file>src/test/resources/testng1.xml</file>
        </suiteXmlFiles>
        <properties>
            <property>
                <name>suitethreadpoolsize</name>
                <value>2</value>
            </property>
            <property>
                <name>surefire.testng.verbose</name>
                <value>10</value>
            </property>
        </properties>
    </configuration>
</plugin>
 类似资料:
  • 22.13.1.执行测试 测试从main构建过程中分离出来的,运行在一个单独的JVM中执行.Test任务允许控制这些如何发生. 有许多属性用于控制测试过程如何启动.这包括使用诸如系统属性,JVM参数和Java可执行文件。 可以指定是否要并行执行测试.Gradle通过同时运行多个测试进程提供并行执行测试.每个测试进程在同一时间只能执行一个测试,为了充分利用这一特性,一般不需要为tests任务做什么特

  • 我正在尝试运行配置套件文件的并行测试。测试是针对使用Selenium的web应用程序。套件文件由多个测试组成。每个测试都包含多个测试类。每个测试中的第一个类用于初始化(@beforetest)WebDriver并关闭它(@aftertest)。WebDriver是静态的,以便将其传递给其他类(原因是我们需要从最后一个测试类结束的地方继续测试)。 当套件配置为按顺序运行测试时,测试将成功运行。但是当

  • 我正在将并行执行引入我的testNG套件中。当我将“parallel”设置为“tests”时,两个浏览器打开,两个测试的第一个类同时开始--这是我所期望的。当我将其设置为“classes”时,我希望第一个测试中的两个类同时开始,但是只有一个浏览器打开,第一个类中的第一个方法执行,然后用第二个类中的第一个方法打开一个新的浏览器,依此类推。谁能告诉我我做错了什么? 下面是我的xml文件:

  • 问题内容: 我有一些正在使用Jenkins运行的自动化测试。 我已经将Jenkins连接到我的GitSwarm,它从我的分支中提取代码, 然后将其执行。 我已经为Jenkins安装了“并行测试作业执行插件”。 在插件中,我指定了要分三批运行的测试 屏幕截图 还有什么我应该指定的吗?我认为我不必这样做,因为 我已经连接到GitSwarm来运行代码。控制台输出似乎 另有说明! 在工作空间C:\ Jen

  • 我使用testNg用于使用java的自动化,我使用从excel获取数据并作为参数传递给测试脚本。 假设我在中有10行数据,我的测试用例将按顺序执行10次,但现在我想并行运行这10个测试,同时使用线程。 这能做到吗?如果是的话,有人能给我一个同样的例子吗?

  • 类TestParallel.FirstTestClass线程ID:22名称:TestNG 类TestParallel.SecondTestClass线程ID:23名称:TestNG 类TestParallel.TestSetup线程ID:23名称:TestNG java.lang.NullPoInterException位于TestParallel.TestSetup.OnTestFailure(