在Java中Annotations翻譯為註釋就是用@+名稱,來實做一些額外的特性與功能,在TestNG中,也大量的使用Annotations來簡化撰寫測試的過程,以下就來說明一些功能與用法!
@BeforeSuite 被註釋的方法將在所有測試執行前先執行
@AfterSuite 被註釋的方法將在所有測試執行後才執行
@BeforeTest 被註釋的方法將會在測試執行前先執行
@AfterTest 被註釋的方法將在測試執行後才執行
@BeforeGroups 被註釋的方法將保證在Group中的方法執行前先執行
@AfterGroups 被註釋的方法將在Group中的所有方法執行後執行
@BeforeClass 被註釋的方法會在該類別第一個測試方法執行前先執行
@AfterClass 被註釋的方法會在該類別所有測試方法執行後執行
@BeforeMethod 被註釋的方法會在每一個測試方法執行前執行
@AfterMethod 被註釋的方法會在每一個測試方法執行後執行
屬性
alwaysRun 用於before方法(beforeSuite, beforeTest, beforeTestClass,
beforeTestMetod, 但是不包括beforeGroups);如果設置為true被設
定的方法將總是執行不論屬於哪個群組
用於after方法(afterSuite, afterTest, ...);如果設定為true被設定的方法
就算一個或多個先被執行的方法失敗或忽略也會被執行
dependsOnGroups 這個方法所依賴的群組
dependsOnMethods 這個方法所依賴的方法
enabled 這個方法是否被執行
groups 這個類別或方法所屬的群組
inheritGroups 如果設為true,這個方法跟將定義與class在同一群組
@DataProvider 被註釋的方法,用於提供測試數據給測試方法,被註釋的方法必須回傳
Objext[][],其中每個Object[]可以指派為這個測試方法的參數列表
name 這個DataProvider的名稱
parallel 如果設為true,測試會平行使用這個data provider,預設為false
@Factory 被註釋的方法要返回測試類別。這方法必須返回Object[]
@Listeners 替測試定義listener
value 繼承org.testng.ITestNGListener的類別陣列
@Parameters 描述如何傳遞參數給@Test方法
value 參數列表
@Test 被註釋的類別或方法會在測試時被執行
alwaysRun 如果設定為true就算他依賴的方法失敗,也會被執行
dataProvider 這個測試方法的data provider的名稱
dataProviderClass 用於尋找data provider的類別,如果不指定,會在當前測試方法所在
的類別尋找,如果指定,則data provider方法需要是指定類別的
static方法
dependsOnGroups 這個測試方法依賴的群組
dependsOnMethods 這個測試方法依賴的方法
description 這個方法的描述
enabled 這個方法是否會執行
expectedExceptions 測試方法期待拋出的例外列表,如果沒拋出例外或例外不在列表中都
視為測試失敗
groups 這個方法的群組
invocationCount 這個方法被調用的次數
invocationTimeOut
priority 這個方法的優先性,愈低愈先被執行
successPercentage 這個方法期望的成功率
singleThreaded 如果設為true,這個測試類別上的所有方法會按照順序執行。就算在
parallel="true"的情況下
timeOut 這個方法容許花費的最大時間,單位是毫秒
threadPoolSize 這個方法的線程池大小,這個方法將被多線程執行,次數由
invocationCount參數決定。如果沒指定invocationCount這個屬性將
被忽略
參考
http://testng.org/doc/documentation-main.html#annotations
http://www.blogjava.net/qileilove/archive/2014/09/02/417593.html
http://www.shenyanchao.cn/blog/2013/06/05/deep-in-testng/
@BeforeSuite 被註釋的方法將在所有測試執行前先執行
@AfterSuite 被註釋的方法將在所有測試執行後才執行
@BeforeTest 被註釋的方法將會在測試執行前先執行
@AfterTest 被註釋的方法將在測試執行後才執行
@BeforeGroups 被註釋的方法將保證在Group中的方法執行前先執行
@AfterGroups 被註釋的方法將在Group中的所有方法執行後執行
@BeforeClass 被註釋的方法會在該類別第一個測試方法執行前先執行
@AfterClass 被註釋的方法會在該類別所有測試方法執行後執行
@BeforeMethod 被註釋的方法會在每一個測試方法執行前執行
@AfterMethod 被註釋的方法會在每一個測試方法執行後執行
屬性
alwaysRun 用於before方法(beforeSuite, beforeTest, beforeTestClass,
beforeTestMetod, 但是不包括beforeGroups);如果設置為true被設
定的方法將總是執行不論屬於哪個群組
用於after方法(afterSuite, afterTest, ...);如果設定為true被設定的方法
就算一個或多個先被執行的方法失敗或忽略也會被執行
dependsOnGroups 這個方法所依賴的群組
dependsOnMethods 這個方法所依賴的方法
enabled 這個方法是否被執行
groups 這個類別或方法所屬的群組
inheritGroups 如果設為true,這個方法跟將定義與class在同一群組
@DataProvider 被註釋的方法,用於提供測試數據給測試方法,被註釋的方法必須回傳
Objext[][],其中每個Object[]可以指派為這個測試方法的參數列表
name 這個DataProvider的名稱
parallel 如果設為true,測試會平行使用這個data provider,預設為false
@Factory 被註釋的方法要返回測試類別。這方法必須返回Object[]
@Listeners 替測試定義listener
value 繼承org.testng.ITestNGListener的類別陣列
@Parameters 描述如何傳遞參數給@Test方法
value 參數列表
@Test 被註釋的類別或方法會在測試時被執行
alwaysRun 如果設定為true就算他依賴的方法失敗,也會被執行
dataProvider 這個測試方法的data provider的名稱
dataProviderClass 用於尋找data provider的類別,如果不指定,會在當前測試方法所在
的類別尋找,如果指定,則data provider方法需要是指定類別的
static方法
dependsOnGroups 這個測試方法依賴的群組
dependsOnMethods 這個測試方法依賴的方法
description 這個方法的描述
enabled 這個方法是否會執行
expectedExceptions 測試方法期待拋出的例外列表,如果沒拋出例外或例外不在列表中都
視為測試失敗
groups 這個方法的群組
invocationCount 這個方法被調用的次數
invocationTimeOut
priority 這個方法的優先性,愈低愈先被執行
successPercentage 這個方法期望的成功率
singleThreaded 如果設為true,這個測試類別上的所有方法會按照順序執行。就算在
parallel="true"的情況下
timeOut 這個方法容許花費的最大時間,單位是毫秒
threadPoolSize 這個方法的線程池大小,這個方法將被多線程執行,次數由
invocationCount參數決定。如果沒指定invocationCount這個屬性將
被忽略
參考
http://testng.org/doc/documentation-main.html#annotations
http://www.blogjava.net/qileilove/archive/2014/09/02/417593.html
http://www.shenyanchao.cn/blog/2013/06/05/deep-in-testng/
留言
張貼留言
有什麼想法歡迎跟我們分享