前言
繼上篇環(huán)境篇后,本篇主要對(duì)TestNG進(jìn)行介紹,給出基礎(chǔ)的兩個(gè)實(shí)例,通過本文后,學(xué)會(huì)并掌握TestNG測(cè)試用例的編寫與運(yùn)行,以及生成美化后的報(bào)告。下一篇為HTTP接口實(shí)戰(zhàn)(氣象局接口自動(dòng)化測(cè)試)
目錄
二、TestNG簡(jiǎn)介與基礎(chǔ)實(shí)例
2.1 TestNG與JUnit對(duì)比
為了文章的完整性,從網(wǎng)絡(luò)摘抄部分文字介紹相關(guān)內(nèi)容。
官網(wǎng): http://testng.org/doc/index.html
不錯(cuò)的入門介紹: http://www.yiibai.com/testng/
2.1.1 JUnit缺點(diǎn)
初的設(shè)計(jì),使用于單元測(cè)試,現(xiàn)在只用于各種測(cè)試
不能依賴測(cè)試
配置控制欠佳(安裝/拆卸)
侵入性(強(qiáng)制擴(kuò)展類,并以某種方式命名方法)
靜態(tài)編程模型(不必要的重新編譯)
不同的適合管理復(fù)雜項(xiàng)目中的測(cè)試可以是非常棘手
2.1.2 TestNG是什么?
TestNG按照其文檔的定義是:
TestNG是一個(gè)測(cè)試框架,其靈感來自JUnit和NUnit的,但引入了一些新的功能,使其功能更強(qiáng)大,使用更方便。
TestNG是一個(gè)開源自動(dòng)化測(cè)試框架;TestNG表示下一代。 TestNG是類似于JUnit(特別是JUnit 4),但它不是一個(gè)JUnit擴(kuò)展。它的靈感來源于JUnit。它的目的是優(yōu)于JUnit的,尤其是當(dāng)測(cè)試集成的類。 TestNG的創(chuàng)造者是Cedric Beust(塞德里克?博伊斯特)
TestNG消除了大部分的舊框架的限制,使開發(fā)人員能夠編寫更加靈活和強(qiáng)大的測(cè)試。 因?yàn)樗诤艽蟪潭壬辖梃b了Java注解(JDK5.0引入的)來定義的測(cè)試,它也可以告訴你如何使用這個(gè)新功能在真實(shí)的Java語言生產(chǎn)環(huán)境中。
2.1.3TestNG的特點(diǎn)
注解
TestNG使用Java和面向?qū)ο蟮墓δ?br />
支持綜合類測(cè)試(例如,默認(rèn)情況下,沒有必要?jiǎng)?chuàng)建一個(gè)新的測(cè)試每個(gè)測(cè)試方法的類的實(shí)例)
獨(dú)立的編譯時(shí)間測(cè)試代碼運(yùn)行時(shí)配置/數(shù)據(jù)信息
靈活的運(yùn)行時(shí)配置
主要介紹“測(cè)試組”。當(dāng)編譯測(cè)試,只要問TestNG運(yùn)行所有的“前端”的測(cè)試,或“快”,“慢”,“數(shù)據(jù)庫”等
支持依賴測(cè)試方法,并行測(cè)試,負(fù)載測(cè)試,局部故障
靈活的插件API
支持多線程測(cè)試
2.2 TestNG注解與基礎(chǔ)實(shí)例
2.2.1 注解
2.2.2 基礎(chǔ)實(shí)例1
2.2.2.1 新建JAVA工程
新建: NEW --> JAVA Project --> 輸入工程名稱 --> Finish
詳請(qǐng)Google OR 百度
2.2.2.2 引入Lib庫
2.2.2.3檢查testng報(bào)告配置
2.2.2.4 編寫測(cè)試用例
package findyou.testcase;
import org.testng.annotations.Test;
public class TestCaseStudy {
// test case 1
@Test
public void testCase1() {
System.out.println("in test case 1");
}
}