Java TestNG中类级并行运行的配置

Java TestNG中类级并行运行的配置,java,intellij-idea,testng,Java,Intellij Idea,Testng,我试图找出如何首先在一个类中运行所有TestNG测试,然后在第二个类中运行所有TestNG测试,以此类推。我需要使用并行运行来加快执行速度。这些是selenium测试,因此可能运行缓慢 给定以下TestNG套件文件: <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="Suite1" verbose="1" parallel="classes" thread-count="2">

我试图找出如何首先在一个类中运行所有TestNG测试,然后在第二个类中运行所有TestNG测试,以此类推。我需要使用并行运行来加快执行速度。这些是selenium测试,因此可能运行缓慢

给定以下TestNG套件文件:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="Suite1" verbose="1" parallel="classes" thread-count="2">

<test name="parallel-running-test">

    <classes>
        <class name="com.mycompany.myproject.mypackage.MyFirstClassTest"/>
        <class name="com.mycompany.myproject.mypackage.MySecondClassTest"/>
    </classes>
</test>
第二类:

public class MySecondClassTest {

@Test
public void mySecondClassTestOne(){
    System.out.println("mySecondClassTestOne");
}

@Test(dependsOnMethods = {"mySecondClassTestOne"})
public void mySecondClassTestTwo(){
    System.out.println("mySecondClassTestTwo");
}

@Test(dependsOnMethods = {"mySecondClassTestTwo"})
public void mySecondClassTestThree(){
    System.out.println("mySecondClassTestThree");
}

@Test(dependsOnMethods = {"mySecondClassTestThree"})
public void mySecondClassTestFour(){
    System.out.println("mySecondClassTestFour");
}

@Test(dependsOnMethods = {"mySecondClassTestFour"})
public void mySecondClassTestFive(){
    System.out.println("mySecondClassTestFive");
    }
}
然后输出如下:

…我如何才能将报告作为:

MyFirstClassTest
   myfirstClassTestOne
   myfirstClassTestTwo
   myfirstClassTestThree
   myfirstClassTestFour
   myfirstClassTestFive

MySecondClassTest
   mySecondClassTestOne
   mySecondClassTestTwo
   mySecondClassTestThree
   mySecondClassTestFour
   mySecondClassTestFive

注意-我需要dependsOnMethods,并让OBV删除所有浏览器内容和实际的selenium内容

Steerpike,您可以尝试并行运行测试(而不是类),因此对XML的细微更改应该会给您带来您想要的:

    !DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="Suite1" verbose="1" parallel="tests" thread-count="2">

    <test name="parallel-running-test1">        
        <classes>
            <class name="com.mycompany.myproject.mypackage.MyFirstClassTest"/>       
        </classes>
    </test>

    <test name="parallel-running-test2">        
        <classes>       
            <class name="com.mycompany.myproject.mypackage.MySecondClassTest"/>
        </classes>
    </test>

</suite>
!“DOCTYPE套件系统”http://testng.org/testng-1.0.dtd" >

祝你好运

您的问题只是IntelliJ显示测试结果的方式。 默认情况下,它按测试完成的顺序显示测试

如果愿意,您可以更改它并按字母顺序对其排序:

遗憾的是,IntelliJ没有按类名对测试进行分组(或者我没有找到方法)


也许您应该询问

如何执行代码?上的功能?。我试过用你的代码显示你要求的报告。
    !DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="Suite1" verbose="1" parallel="tests" thread-count="2">

    <test name="parallel-running-test1">        
        <classes>
            <class name="com.mycompany.myproject.mypackage.MyFirstClassTest"/>       
        </classes>
    </test>

    <test name="parallel-running-test2">        
        <classes>       
            <class name="com.mycompany.myproject.mypackage.MySecondClassTest"/>
        </classes>
    </test>

</suite>