本人部落格目錄鏈結
這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註解的方法將只執行一次後已經執行在當前類中的所有測試方...