Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 需要pom.xml文件中的并行测试帮助吗_Java_Maven_Selenium_Testng_Maven Surefire Plugin - Fatal编程技术网

Java 需要pom.xml文件中的并行测试帮助吗

Java 需要pom.xml文件中的并行测试帮助吗,java,maven,selenium,testng,maven-surefire-plugin,Java,Maven,Selenium,Testng,Maven Surefire Plugin,我有100个Java类文件用于测试 我想把它们分成4个xml文件。 (100个类分为以下xml文件) testng.xml文件 <suite name="MainSuite" > <listeners> <listener class-name="org.uncommons.reportng.HTMLReporter"/> <listener class-name="org.uncommons.reportng.J

我有100个Java类文件用于测试

我想把它们分成4个xml文件。 (100个类分为以下xml文件)

testng.xml文件

<suite name="MainSuite" >
    <listeners>
        <listener class-name="org.uncommons.reportng.HTMLReporter"/>
        <listener class-name="org.uncommons.reportng.JUnitXMLReporter"/>
    </listeners>
    <suite-files>
        <suite-file path="testng1.xml" />
        <suite-file path="testng2.xml" />
        <suite-file path="testng3.xml" />
        <suite-file path="testng4.xml" />
    </suite-files>
 </suite>

pom.xml文件

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.0.0-M4</version>
    <configuration>
        <suiteXmlFiles>
            <suiteXmlFile>testng.xml</suiteXmlFile>
        </suiteXmlFiles>
        <properties>
            <property>
                <name>suitethreadpoolsize</name>
                <value>4</value>
            </property>
        </properties>
    </configuration>
</plugin>

org.apache.maven.plugins
maven surefire插件
3.0.0-M4
testng.xml
suitethreadpoolsize
4.
当执行(mvn清洁测试)时,它正在开始执行,但我找不到失败的地方


我想为失败和通过的类生成适当的报告,并使用不同的方法


我尝试了ReportNG,但它没有从testng生成报告,因为我正在从POM.xml(mvn clean test)运行项目您的项目中只能有一个testng.xml文件 因此,您可以在xml中定义所有测试类,然后只需提及parallel=“classes”

<suite name="Test-class Suite" parallel="classes" thread-count="2" >   
    <test name="Test-class test" >
    <classes>
      <class name="ParallelClassesTestOne" />
      <class name="ParallelClassesTestTwo" />
    </classes>   </test>


然后您可以在testoutput文件夹>可发送电子邮件的报告中查看我们的测试结果,我建议您不要将其划分为4个xml文件。您可以在单个文件中维护它们。在该xml文件中创建4
,并对测试进行分类,以便并行执行

e、 g


.....
人们遵循的更好的方法是在测试用例中提供组名,并使用该组名,而不是编写100个类名

    <test name="stack 1">
        <groups>
            <run>
                <include name="regression" />
            </run>
        </groups>

        <packages>
            <package name="com.test.name.*" />
        </packages>
    </test>


根据我的项目,我不喜欢那样。可能有数千个测试用例,因此需要多个testng文件。它不会按顺序执行。pom.xml不允许并行运行测试。它可以通过testng.xml文件或类似Jenkins的文件来实现。它正在执行与上述代码并行的所有testng文件。那么您实际的问题是什么?我想为失败的类和通过的类生成适当的报告。
<suite name="All_in_one_suite" parallel="test" thread-count="2" >   
    <test name="Test group 1" >
     <classes>
       <class name="ParallelClassesTestOne" />
       <class name="ParallelClassesTestTwo" />
     </classes>   
    </test>

    <test name="Test group 2" >
     <classes>
       <class name="ParallelClassesTestOne" />
       <class name="ParallelClassesTestTwo" />
     </classes>   
    </test>
    .....
<suite>
    <test name="stack 1">
        <groups>
            <run>
                <include name="regression" />
            </run>
        </groups>

        <packages>
            <package name="com.test.name.*" />
        </packages>
    </test>