Testng執行順序控制

Testng執行順序控制

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。

相關文章
相關標籤/搜索