TestNG學習記錄--------基本註解

1.基本註解

註解 描述
@BeforeSuite 註解的方法將只運行一次,在該套件所有測試運行前被運行。
@AfterSuite 註解的方法將只運行一次,在該套件所有測試運行後備運行。
@BeforeClass 註解的方法將只運行一次,先行先試在當前類中的方法調用。
@AfterClass 註解的方法將只運行一次後已經運行在當前類中的所有測試方法。
@BeforeTest 註解的方法將被運行之前的任何測試方法屬於內部類的 <test>標籤的運行。
@AfterTest 註解的方法將被運行後,所有的測試方法,屬於內部類的<test>標籤的運行。
@BeforeGroups 組的列表,這種配置方法將之前運行。此方法是保證在運行屬於任何這些組第一個測試方法,該方法被調用。
@AfterGroups 組的名單,這種配置方法後,將運行。此方法是保證運行後不久,最後的測試方法,該方法屬於任何這些組被調用。
@BeforeMethod 註解的方法將每個測試方法之前運行。
@AfterMethod 被註釋的方法將被運行後,每個測試方法。
@DataProvider 標誌着一個方法,提供數據的一個測試方法。註解的方法必須返回一個Object[] [],其中每個對象[]的測試方法的參數列表中可以分配。該@Test 方法,希望從這個DataProvider的接收數據,需要使用一個dataProvider名稱等於這個註解的名字。
@Factory 作爲一個工廠,返回TestNG的測試類的對象將被用於標記的方法。該方法必須返回Object[]。
@Listeners 定義一個測試類的監聽器。
@Parameters 介紹如何將參數傳遞給@Test方法。
@Test 標記一個類或方法作爲測試的一部分。

2.知道了每個註釋的作用,編寫第一個例子,具體代碼如下:

import org.testng.annotations.*;

/**
 * Created by Administrator on 2015/3/24.
 */
public class TestNGDemo {

    @Test
    public void testCase1() {
        System.out.println("in test case 1");
    }

    @Test
    public void testCase2() {
        System.out.println("in test case 2");
    }

    @BeforeMethod
    public void beforeMethod() {
        System.out.println("in beforeMethod");
    }

    @AfterMethod
    public void afterMethod() {
        System.out.println("in afterMethod");
    }

    @BeforeClass
    public void beforeClass() {
        System.out.println("in beforeClass");
    }

    @AfterClass
    public void afterClass() {
        System.out.println("in afterClass");
    }

    @BeforeTest
    public void beforeTest() {
        System.out.println("in beforeTest");
    }

    @AfterTest
    public void afterTest() {
        System.out.println("in afterTest");
    }

    @BeforeSuite
    public void beforeSuite() {
        System.out.println("in beforeSuite");
    }

    @AfterSuite
    public void afterSuite() {
        System.out.println("in afterSuite");
    }

}

執行結果:

in beforeSuite
in beforeTest
in beforeClass
in beforeMethod
in test case 1
in afterMethod
in beforeMethod
in test case 2
in afterMethod
in afterClass
in afterTest
in afterSuite

從上面的輸出,TestNG是執行過程如下:

* 首先所有@BeforeSuite方法只執行一次。

* 最後@AfterSuite的方法只執行一次。

* 即使方法 @BeforeTest, @BeforeClass, @AfterClass和@AfterTest方法只執行一次。

* @BeforeMethod  執行每個測試用例之前執行。

* @AfterMethod方法執行每個測試用例之後執行
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章