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