1.class执行顺序控制-testng.xml之preserve-order
preserve-order:用来控制<test>里面所有<classes>的执行顺序。<test>中默认的preserve-order为true,表示<test>下所有<classes>按照顺序执行,如:
-
1. "1.0" encoding="UTF-8" xml version=
-
2.
-
3.
-
4. <suite name="suite1">
-
5. <test name="test" preserve-order="true">
-
6. <classes >
-
7. <class name="com.pack.ClassTwo">
-
8. <class name="com.pack.ClassThree">
-
9. <class name="com.pack.ClassOne">
-
10. </classes >
-
11. </test>
-
12. </suite>
【注】 一个<class>类里面可能存在多个测试方法(被@Test注解的方法),这些方法的执行顺序不受preserve-order控制。默认测试方法的执行顺序是按照方法名的首字母升序排序执行的。
2.@test执行顺序控制
(1) 使用priority指定执行顺序(默认值为0),数值越小,越靠前执行,如:
-
0) (priority =
-
public void testMethod1() {
-
}
-
1)(priority =
-
public void testMethod2() {
-
}
-
2)(priority =
-
public void testMethod3() {
-
}
执行顺序:按照testMethod1、testMethod2、testMethod3顺序执行
(2) 方法名称按首字母排序
扫描二维码关注公众号,回复:
2079824 查看本文章
因为默认执行顺序是按照方法名的首字母升序排序执行。那么,有目的地去定制方法名称,就可以让方法按照我们要求的顺序执行。如:
-
public void B() {
-
}
-
public void A() {
-
}
-
public void C() {
-
}
(3) 在xml里面使用<include>指定需要执行的方法和顺序,如:
-
<suite name="Preserve order test runs">
-
<test name="test" preserve-order="true">
-
<classes>
-
<class name="com.pack.ClassOne">
-
<methods>
-
<include name="B" />
-
<include name="A" />
-
</methods>
-
</class>
-
</classes>
-
</test> </suite>
转载。 https://blog.csdn.net/qq_15158911/article/details/70332097