Java自動化測試框架-01 – TestNG之入門篇 – 大佬的雞肋,菜鳥的盛宴(詳細教程)
- 2019 年 10 月 16 日
- 筆記
TestNG是什麼?
TestNG按照官方的定義:
TestNG是一個測試框架,其靈感來自JUnit和NUnit,但引入了一些新的功能,使其功能更強大,使用更方便。
TestNG是一個開源自動化測試框架;TestNG表示下一代(Next Generation的首字母)。 TestNG類似於JUnit(特別是JUnit 4),但它不是JUnit框架的擴展。它的靈感來源於JUnit。它的目的是優於JUnit,尤其是在用於測試集成多類時。 TestNG的創始人是Cedric Beust(塞德里克·博伊斯特)。
TestNG消除了大部分的舊框架的限制,使開發人員能夠編寫更加靈活和強大的測試。 因為它在很大程度上借鑒了Java註解(JDK5.0引入的)來定義測試,它也可以顯示如何使用這個新功能在真實的Java語言生產環境中。
TestNG的特點
- 註解
- TestNG使用Java和面向對象的功能
- 支持綜合類測試(例如,默認情況下,不用創建一個新的測試每個測試方法的類的實例)
- 獨立的編譯時測試代碼和運行時配置/數據信息
- 靈活的運行時配置
- 主要介紹“測試組”。當編譯測試,只要要求
TestNG
運行所有的“前端”的測試,或“快”,“慢”,“數據庫”等 - 支持依賴測試方法,並行測試,負載測試,局部故障
- 靈活的插件API
- 支持多線程測試
TestNG(Next Generation)是一個測試框架,它受到JUnit和NUnit的啟發,而引入了許多新的創新功能,如依賴測試,分組概念,使測試更強大,更容易做到。 它旨在涵蓋所有類別的測試:單元,功能,端到端,集成等…
TestNG,即Testing, Next Generation,下一代測試技術,是一套根據JUnit 和NUnit思想而構建的利用注釋來強化測試功能的一個測試框架。TestNG設計涵蓋所有類型的測試:單元,功能,端到端,集成等。學習TestNG之前需要先學習編程語言Java、配置本地JDK環境(JDK1.5版本或以上)和安裝java開發工具eclipse。
TestNG下載並安裝
從這裡 http://testng.org/doc/download.html 下載當前版本的TestNG,打開zip分發來獲取TestNG解壓縮文件,其中包含以下子文件:
Testng-6.jar
(請直接添加到您的項目中,也可能無法僅使用此jar來成功構建代碼,因為TestNG官方版本不包括所有外部jar文件,以減少包的大小)- 文檔(TestNG教程資料)
- 示例代碼
- Testng 源代碼
- Readme文檔
對於初學者,宏哥推薦你從示例代碼和文檔開始和編寫TestNG。
如果使用Eclipse IDE,建議按照以下方法插件,建議使用更新站點:
對於Eclipse 3.4及更高版本,請輸入 http://beust.com/eclipse
對於Eclipse 3.3及更低版本,請輸入 http://beust.com/eclipse1
在Eeclipse中安裝testNG
在官網上部導航區域點擊“Download”鏈接,該頁面介紹了集成TestNG的不同方式。
在“Eclipse plug-in”區域介紹了兩種Eclipse安裝插件的方式。
硬性要求:JDK1.7以上版本、Eclipse4.2以上版本。
Java 1.7+ is required for running the TestNG for Eclipse plugin.
Eclipse 4.2 and above is required. Eclipse 3.x is NOT supported any more, please update your Eclipse to 4.2 or above.
兩種在線安裝方式:
1、通過Eclipse Marketplace安裝;
1)打開Eclipse Help ->MarketPlace,在搜索框裏面輸入TestNG搜索,然後安裝TestNG插件。
2)點擊“Install”,稍等幾分鐘,等待插件下載
3)下載成功後,點擊“Confirm”,進行安裝(其中第二個Maven項目可選擇安裝也可以不安裝,但是宏哥建議都安裝上)
4)稍等一會等待安裝
2、通過Update Site安裝;
1) 通過update site也可以進行插件的安裝,方法是:在Eclipse中點擊Help菜單,選擇Install New Software選項,在彈出頁面中輸入安裝地址:http://beust.com/eclipse即可安裝。
3、離線安裝TestNG插件:
受網絡等因素影響,在線安裝方式速度比較慢,可以通過如下方式離線安裝TestNG插件。
1)通過testng下載網址找到插件下載地址,
2)瀏覽器直接訪問網址, http://beust.com/eclipse
3)選擇最下部的zipped文件夾鏈接;
4)選擇版本,如:“7.0.0.201908240652/”
5)點擊超鏈接,即可下載離線安裝文件。
6)解壓壓縮包,文件目錄如下圖所示。可以把features和plugins中的內容分別拷貝到eclipse對應文件夾;
或把解壓後的整個目錄拷貝到dropins中。
驗證是否安裝成功:

7) 不解壓文件,通過eclipse的Install new software安裝。
8)點擊Add,彈出Install Repository對話框,填寫Name,點擊“Archive”按鈕,選擇本地要安裝的Jar或者Zip文件,如下圖:
9)點擊OK,如下圖:
10)根據需求勾選上列表框中的安裝項,點擊“Next”,然後根據提示一直往下操作,直到Finish,這樣就完成了。
驗證插件安裝是否成功
打開Eclipse,新建-other,選擇“TestNG——>TestNG Class”。
出現這個說明插件安裝成功。
至此環境搭建完成,可以開始寫測試的case了。
小試牛刀
1)安裝成功後,在項目的package上右鍵可以看到TestNG–>Create TestNG class。
2)這裡可以勾選TestNG的註解方法。
3)我們先勾選一下@BeforeTest、@AfterTest、@DataProvider,自動生成的類文件如下:

4)這裡報錯了,是因為我們還沒有將TestNG加入到我們的library中來,點擊錯誤,會有import Library的選項,點擊便有了,如圖

5)從一個簡單的測試case開始入手,代碼如下:
6)將鼠標點擊代碼任意處,右鍵Run As –> TestNG Test,
7)console控制台運行後結果如下:
從測試的結果可以看到執行的順序是beforeTest()–>Test()–>afterTest(),同時Test()方法從dataProvider dp裏面接收參數。關於這部分知識宏哥在下一篇會講解,敬請期待和關注宏哥!!!
8)TestNG默認情況下,會生成兩種類型的測試報告HTML和XML,測試報告位於 “test-output” 目錄下。右鍵項目刷新一下項目就可以看到:

9)用瀏覽器打開/test-output/Default suite/Default test.html

10)可以看到如下圖的測試報告:
package hongge; import org.testng.annotations.Test; import org.testng.annotations.DataProvider; import org.testng.annotations.BeforeTest; import org.testng.annotations.AfterTest; /** * @author 北京-宏哥 * * java自動化測試交流群:694280102 * * Java自動化測試框架-01 - TestNG之入門篇 * * 2019年10月16日 */ public class NewTest { @Test(dataProvider = "dp") public void f(Integer n, String s) { System.out.println("第一個參數是"+n+",第二個參數是"+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("------------結束測試------------"); } }
小結
好了,今天就分享到這裡!!!
有問題加入java自動化測試交流群:694280102
個人公眾號 微信群 (微信群已滿100,可以加宏哥的微信拉你進群,請備註:進群)
您的肯定就是我進步的動力。如果你感覺還不錯,就請鼓勵一下吧!記得點波 推薦 哦!!!(點擊右邊的小球即可!(^__^) 嘻嘻……)