TestNG執行順序控制

2022-06-22 08:03:10 字數 1188 閱讀 6755

1.class執行順序控制---testng.xml之preserve-order

preserve-order:用來控制裡面所有的執行順序。中預設的preserve-order為true,表示下所有按照順序執行,如:

1. <?xml version="1.0" encoding="utf-8"?>  

<

class
name="com.pack.classtwo">  

<

class
name="com.pack.classthree">  

<

class
name="com.pack.classone">  

執行順序:按照classtwo,classthree,classone執行

【注】 乙個類裡面可能存在多個測試方法(被@test註解的方法),這些方法的執行順序不受preserve-order控制。預設測試方法的執行順序是按照方法名的首字母公升序排序執行的。

2.@test執行順序控制

(1) 使用priority指定執行順序(預設值為0),數值越小,越靠前執行,如:

@test(priority = 0)  

public void testmethod1()

@test(priority = 1)

public void testmethod2()

@test(priority = 2)

public void testmethod3()

執行順序:按照testmethod1、testmethod2、testmethod3順序執行

(2) 方法名稱按首字母排序

因為預設執行順序是按照方法名的首字母公升序排序執行。那麼,有目的地去定製方法名稱,就可以讓方法按照我們要求的順序執行。如:

@test public void b()   

@test public void a()

@test public void c()

執行順序:按照a、b、c順序執行。

(3) 在xml裡面使用指定需要執行的方法和順序,如:

testng標籤執行順序

testng的annotations執行順序為 beforesuite beforetest beforeclass beforemethod aftermethod afterclass aftertest aftersuite 如果測試用例父類 和子類同時有相同的標籤,before遵循從外而內的...

TestNG測試執行順序

1.preserve order屬性,之前一直認為preserve order屬性是控制配置方法的執行順序的,其實不是,preserve order主要是控制test下節點classes執行順序的 例如 1.0 encoding utf 8 framework testng test preserv...

testng基礎知識 註解的執行順序

1.單類,無繼承父子關係 1 public class basictest 78 aftersuite alwaysrun true 9 public void aftersuite basictest throws interruptedexception 1314 beforeclass alw...