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。

相关文章
相关标签/搜索