我试图找出如何在一个类中首先运行我的所有TestNG测试,然后在第二个类中运行所有测试,依此类推。我需要使用并行运行来加速执行。这些是硒测试,因此可能会慢速运行。
给出以下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>
..以及以下2个类:
第一课:
public class MyFirstClassTest {
@Test
public void myFirstClassTestOne(){
System.out.println("myFirstClassTestOne");
}
@Test (dependsOnMethods = {"myFirstClassTestOne"})
public void myFirstClassTestTwo(){
System.out.println("myFirstClassTestTwo");
}
@Test (dependsOnMethods = {"myFirstClassTestTwo"})
public void myFirstClassTestThree(){
System.out.println("myFirstClassTestThree");
}
@Test(dependsOnMethods = {"myFirstClassTestThree"})
public void myFirstClassTestFour(){
System.out.println("myFirstClassTestFour");
}
@Test(dependsOnMethods = {"myFirstClassTestFour"})
public void myFirstClassTestFive(){
System.out.println("myFirstClassTestFive");
}
}
第二类:
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并且obvs删除了所有的浏览器内容和实际的selenium东西
答案 0 :(得分:1)
您的问题就是IntelliJ如何显示测试结果。 默认情况下,它按照完成的顺序显示测试。
如果您愿意,可以按字母顺序对其进行更改和排序:
可悲的是,IntelliJ没有按类名对测试进行分组(或者我没有找到方法)。
上要求这个功能答案 1 :(得分:0)
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>
祝你好运!