Testng系列學習一 基本註解和引數化

2021-10-05 05:23:47 字數 3050 閱讀 4514

本人部落格目錄鏈結

這9個註解是常用中的註解,然後執行順序是圖中從上至下的順序。其中需要注意的是@beforetest和@beforeclass的執行順序,很容易記混,可以參考第二張圖。

}相關屬性有如下這些,我一般只用了第乙個priority來設定優先順序。

/*設定優先順序 數字越小,優先順序越高*/

@test(priority = 1)

/*設定是否執行 false為不執行*/

@test(enabled = false)

/*預期異常測試*/

@test(expectedexceptions = arithmeticexception.class)

/*限定超時時間*/

@test(timeout = 5000)

/*分組*/

@test(groups="group1")

/*依賴測試:即為測試用例特定順序執行,方法間共享資料或狀態*/

/*依賴於特定方法*/

@test(dependsonmethods= )

/*依賴於特定的組*/

@test(dependsongroups = )

此處init為分組的名稱

/*依賴分為hard依賴、soft依賴

hard依賴:預設為此依賴,依賴的必須都pass,否則skip

soft依賴:並不受到依賴是否都pass,就是沒有絕對的因果關係。

使用方法:@test(dependsonmethods= ,alwaysrun=true)

*/

在@test的註解加入group屬性,@beforeclass等修飾的方法將不能執行,所以使用(alwaysrun=true)來指定其一定執行。所以一般必須執行的方法,例如@beforetest、@beforeclass、@aftertest這些註解的方法,都新增了(alwaysrun = true),變為@beforeclass(alwaysrun = true)

//例如,這裡是登入的方法,將使用者名稱和密碼引數化,並給定預設值

@beforeclass(alwaysrun = true)

@parameters()

public void loginclass(@optional("13200000023") string user,

@optional("666666") string pwd) throws exception{}

//然後在對應的xml檔案中給引數不同的值,這樣實際場景中就可以達到不同賬號登陸

測試套件(suite):是用於測試軟體程式的行為或一組行為的測試用例的集合,用xml的形式來展現。

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

一般來說,我使用的引數設定是name、parallel、thread-count。

name:套件名稱、強制屬性

parallel:是否並行,預設為none,即為序列,其他級別為methods、tests、classes、instance。一般設定為tests,然後設定thread-count的值,設定為tests之後,testng將同乙個執行緒中執行相同的標籤中的所有方法。

thread-count:如果並行,使用的執行緒數

verbose:執行級別或者詳細程度,0-10,10最大

annotations:在測試中使用的注釋型別

time-out:都使用預設超時

group-by-instances:此項用於那些有依賴的方法,且被依賴的物件有多個過載物件,因為如果是依賴方法,且該方法有多個過載方法,則預設是會將所有過載方法都跑完再執行被依賴方法,但有時候我們不想這樣,則將此項設定為true即可;

preserve-order:如果為true,則用例執行會按照在xml中的順序執行,否則會亂序執行,不新增此屬性的話預設是按順序執行的;

在實際框架中,應該是多人編寫**,但是不可能每個人都在編寫完新增的功能點的test之後,都去新增到唯一的xml中,所以使用suite-files標籤可以將測試套件的xml進行拆分。

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

【資源分享】

TestNG系列之 TestNG基本註解 注釋

註解 描述 beforesuite 註解的方法只執行一次,在當前suite所有測試執行之前執行 aftersuite 註解的方法只執行一次,在當前suite所有測試執行之後執行 beforeclass 註解的方法只執行一次,在當前類中所有方法呼叫之前執行 afterclass 註解的方法只執行一次,...

TestNG系列(二)TestNG註解

前言 tetsng提供了很多註解,允許測試人員靈活地組織測試用例 一 test tets是testng的核心註解,被註解的方法,表示為乙個測試方法。description屬性 test description yuhao public void case1 在測試報告中體現出來 enabled屬性 ...

TestNG 基本註解

註解描述 beforesuite註解的方法將只執行一次,執行所有測試前此套件中。aftersuite註解的方法將只執行一次此套件中的所有測試都執行之後。beforeclass註解的方法將只執行一次先行先試在當前類中的方法呼叫。afterclass註解的方法將只執行一次後已經執行在當前類中的所有測試方...