TestNG筆記(1)Annotations說明

       在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/

留言