TestNG,即Testing, Next Generation毅臊,下一代測試技術(shù)药薯,是一套根據(jù)JUnit 和NUnit思想而構(gòu)建的利用注釋來強化測試功能的一個測試框架获诈。TestNG設(shè)計涵蓋所有類型的測試:單元,功能泵琳,端到端摄职,集成等。學(xué)習(xí)TestNG之前需要先學(xué)習(xí)編程語言Java获列、配置本地JDK環(huán)境(JDK1.5版本或以上)和安裝java開發(fā)工具eclipse谷市。
1)在eclipse中安裝testNG
打開Eclipse Help ->MarketPlace,在搜索框里面輸入TestNG搜索击孩,然后安裝TestNG插件迫悠。
2)安裝成功后,在項目的package上右鍵可以看到TestNG-->Create TestNG class巩梢。
這里可以勾選TestNG的注解方法创泄。
**@BeforeSuite: **被此注解的方法將在所有測試運行之前運行該方法艺玲。
**@AfterSuite: **被此注解的方法將在所有測試運行之后運行該方法。
**@BeforeTest: **被此注解的方法鞠抑,將在測試運行之前運行饭聚。
**@AfterTest: **被此注解的方法,將在測試運行之后運行搁拙。
**@BeforeClass: **被此注解的方法秒梳,將在當(dāng)前類的第一個測試方法調(diào)用之前運行
**@AfterClass: **被此注解的方法,將在當(dāng)前類的所有測試方法調(diào)用之后運行
**@BeforeMethod: **被此注解的方法箕速,將在每個測試方法調(diào)用之前運行
**@AfterMethod: **被此注解的方法端幼,將在每個測試方法調(diào)用之后運行。
**@DataProvider: **標志著一個方法弧满,提供數(shù)據(jù)的一個測試方法婆跑。注解的方法必須返回一個Object[] [],其中每個對象[]的測試方法的參數(shù)列表中可以分配庭呜。該@Test 方法滑进,希望從這個DataProvider的接收數(shù)據(jù),需要使用一個dataProvider名稱等于這個注解的名字募谎。
我們先勾選一下@BeforeTest扶关、@AfterTest、@DataProvider数冬,自動生成的類文件如下:
這里報錯了节槐,是因為我們還沒有將TestNG加入到我們的library中來,點擊錯誤拐纱,會有import Library的選項铜异,點擊便有了,如圖
至此環(huán)境搭建完成秸架,可以開始寫測試的case了揍庄。
3)從一個簡單的測試case開始入手,代碼如下:
package com.pingan.ff.zijin;
import org.testng.annotations.Test;
import org.testng.annotations.DataProvider;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
public class NewTest {
@Test(dataProvider = "dp")
public void f(Integer n, String s) {
System.out.println("第一個參數(shù)是"+n+",第二個參數(shù)是"+s);
}
@DataProvider
public Object[][] dp() {
return new Object[][] {
new Object[] { 1, "a" },
new Object[] { 2, "b" },
};
}
@BeforeTest
public void beforeTest() {
System.out.println("------------開始測試------------");
}
@AfterTest
public void afterTest() {
System.out.println("------------結(jié)束測試------------");
}
}
右鍵Run As --> TestNG Test东抹,運行后結(jié)果如下:
------------開始測試------------
第一個參數(shù)是1,第二個參數(shù)是a
第一個參數(shù)是2,第二個參數(shù)是b
------------結(jié)束測試------------
從測試的結(jié)果可以看到執(zhí)行的順序是beforeTest()-->Test()-->afterTest()蚂子,同時Test()方法從dataProvider dp里面接收參數(shù)。
4)TestNG默認情況下缭黔,會生成兩種類型的測試報告HTML和XML食茎,測試報告位于 "test-output" 目錄下。右鍵項目刷新一下項目就可以看到:
用瀏覽器打開/test-output/Default suite/Default test.html可以看到如下圖的測試報告: