0

我正在尝试使用 testNG .xml 文件 Class A ''' 运行多个测试类

@Test( priority = 1 )
public void testA1() {
    System.out.println("testA1");
}

@Test( priority = 2 )
public void testA2() {
    System.out.println("testA2");
}

@Test( priority = 3 )
public void testA3() {
    System.out.println("testA3");
}

B类'''

@Test( priority = 1 )
public void testA1() {
    System.out.println("testA1");
}

@Test( priority = 2 )
public void testA2() {
    System.out.println("testA2");
}

@Test( priority = 3 )
public void testA3() {
    System.out.println("testA3");
}

输出:它应该以测试集优先级 1、2 和 3 执行 A 类,然后它应该以相同的优先级 1、2 和 3 执行 B 类

测试NG.XML '''

<suite name="REGRESSION_TEST_SET" thread-count="1" parallel="tests" >
    <test  name="AUTOMATION" group-by-instances="true">

        <classes>

            <class name="ClassA" />
            <class name="ClassB" />
            

        </classes>

    </test>

</suite>
4

1 回答 1

0
For running all test method of one class first and then for the other classes, testng.xml file structure needs to be changed. You need to specify test method from each class in the order of their execution.

Without this change, xml file will run as per priority ex testA1() and then testB1().

Please find the xml file required to achieve tests class wise :

<suite name="REGRESSION_TEST_SET" thread-count="1" parallel="tests" >
<test  name="AUTOMATION" group-by-instances="true">
 <classes>
        <class name="ClassA" />
          <methods>
                <include name="testA1"/>
                <include name="testA2"/>
                <include name="testA3"/>
          </methods>
       </class>  
        
        <class name="ClassB" />
          <methods>
                <include name="testB1"/>
                <include name="testB2"/>
                <include name="testB3"/>
          </methods>
       </class>  
    </classes>
</test>
于 2020-07-17T19:42:32.280 回答