1.class執行順序控制-testng.xml之preserve-orderhtml
preserve-order:用來控制<test>裏面全部<classes>的執行順序。<test>中默認的preserve-order爲true,表示<test>下全部<classes>按照順序執行,如:java
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="suite1"> <test name="test" preserve-order="true"> <classes > <class name="com.pack.ClassTwo"> <class name="com.pack.ClassThree"> <class name="com.pack.ClassOne"> </classes > </test> </suite>
執行順序:按照ClassTwo,ClassThree,ClassOne執行測試
【注】 一個<class>類裏面可能存在多個測試方法(被@Test註解的方法),這些方法的執行順序不受preserve-order控制。默認測試方法的執行順序是按照方法名的首字母升序排序執行的。ui
2.@test執行順序控制spa
(1) 使用priority指定執行順序(默認值爲0),數值越小,越靠前執行,如:code
@Test(priority = 0) public void testMethod1() { } @Test(priority = 1) public void testMethod2() { } @Test(priority = 2) public void testMethod3() { }
執行順序:按照testMethod一、testMethod二、testMethod3順序執行xml
(2) 方法名稱按首字母排序htm
由於默認執行順序是按照方法名的首字母升序排序執行。那麼,有目的地去定製方法名稱,就能夠讓方法按照咱們要求的順序執行。如:排序
@Test public void B() { } @Test public void A() { } @Test public void C() { }
執行順序:按照A、B、C順序執行。it
(3) 在xml裏面使用<include>指定須要執行的方法和順序,如:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"><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>
執行順序:ClassOne執行兩個測試方法,先執行B,而後執行A。