天天看點

TestNG 圖解說明

                                                        TestNG 圖解說明

TestNG  是什麼:

TestNG,即Testing,Next Generation,下一代測試技術,是一套根據JUnit 和NUnit思想而建構的利用注釋來強化測試功能的一個測試架構,即可以用來做單元測試,也可以用來做內建測試。

TestNG  如何安裝

TestNG 圖解說明
TestNG 圖解說明

輸入http://beust.com/eclipse/

TestNG 圖解說明
TestNG 圖解說明
TestNG 圖解說明
TestNG 圖解說明
TestNG 圖解說明

如果出現就點ok

TestNG 圖解說明

點yes

TESTNG  類建立

重新開機之後我們在測試工程中建立一個TESTNG 的包名

TestNG 圖解說明
TestNG 圖解說明

在TESTNG 包名處右擊滑鼠

TestNG 圖解說明
TestNG 圖解說明
TestNG 圖解說明

現在增加部分代碼

TestNG 圖解說明

選擇Run――TESTNG

TestNG 圖解說明
TestNG 圖解說明

執行上面最簡單的一個代碼時大家一定發現了在每個方法前有一個@ 标簽,這個标簽在TESTNG 中叫注解

現在跟大家普及下TESTNG 中的标簽是什麼意思,執行順序是怎樣的呢

TESTNG  注解

首先我們在建立TESTNG 時出現以下界面對吧

TestNG 圖解說明

以下是每個注解的具體描述資訊

TestNG 圖解說明

為了便于了解上述注解的使用方式我這邊在建立Class 時全選上所有注解

TestNG 圖解說明

模闆生成之後增加列印語句

TestNG 圖解說明

.

運作TESTNG

TestNG 圖解說明

其中的BeforeMethod/AfterMethod 會在每個方法中調用一次,這種适用場所,比如我執行完第一個用例之後要重置資料才能執行第二條用例時,可以用這種方式,BeforeMethod 就放重置資料的方法,讓每個方法執行之前都去調用這個方法

現在再用實際例子跑一次蘇甯易購網

建立以下代碼

TestNG 圖解說明

用TESTNG 運作該類

檢視記錄運作結果是PASS 的

TestNG 圖解說明

切換到另一視圖

TestNG 圖解說明

可以精确看到每個方法執行花費多長時間,也可以看到執行是通過還是不通過

TESTNG 結果展示

将工程重新整理之後在SRC 同級目錄下你可以看到一個TEST-OUTPUT 的目錄

TestNG 圖解說明

.

TestNG 圖解說明

打開該目錄選擇emailable-report.html‘,

TestNG 圖解說明
TestNG 圖解說明

TESTNG  中XML  簡單配置

現在對上述測試類稍作修改,做成XML  調用方式

TestNG 圖解說明
TestNG 圖解說明

在TESTNG.XML 中輸入以下代碼

TestNG 圖解說明

選擇TESTNG.XML 後點右我鍵選擇RUN –TESTNG TEST

TestNG 圖解說明

執行完再檢視結果

TestNG 圖解說明

TESTNG 執行順序

TESTNG 在實際執行過程中順序是如何排的呢

其實他并不是按代碼中從上往下執行的,他是控字母+數字排序

建立以下類

TestNG 圖解說明

運作TESTNG TEST

TestNG 圖解說明

發現他并沒有按我們代碼中1,2,3,4 的順序執行

那如果我想按代碼寫的順序執行如何辦呢

可以在注解中增加順序

(priority=XX) XX 代表第幾次執行

我們将上述代碼再修改下,先将1,2,3,4 的順序再打亂下

再用标記的方式讓系統執行按1,2,3,4 的順序執行

TestNG 圖解說明

假如調試時我可能隻要執行部分方法,也就是說要跳過一部分方法怎麼辦呢,同樣是在注解中增加參數

這時我們可以增加enabled=false  表過該方法不執行

在執行過程中3的方法就沒有執行了

TestNG 圖解說明

TESTNG     Resport  記錄展示

在RESTPORT 中展示Log

再新增一個ReporterLogs  TESTNG類

輸入以下内容

TestNG 圖解說明

執行之後打開  emailable-report.html 會發現如圖所示的畫面

TestNG 圖解說明

Log.info("資訊驗證Ok");

Reporter.log("測試方法已驗證通過");

可以看出兩個log 展示的地方不一樣,Reporter.log 隻是在結果中展示,用于展示一些概述性的東西時比較好,比如一個方法執行通過就列印下,具體步驟我們就用log.info 方式記錄

TESTNG  參數化

TESTNG  中的參數與資料提供者介紹

參數需要在注解中加入這個格式

@Parameters({"參數1","參數2"})

現在我們還是以蘇甯易購網站為例稍作修改

建立一個測試類

TestNG 圖解說明

同時修改TESTNG.XML

TestNG 圖解說明

這樣設定代表資料是從xml 中取,之後傳級測試類中的參數

點選TESTNG.XML 運作testng 之後結果展示:

TestNG 圖解說明
TestNG 圖解說明

另一種資料提供者

也是通過增加注解方式實作

标準格式是:

 @DataProvider(name="XXXX")

現再建立一個測試類

輸入以下代碼

TestNG 圖解說明

運作TESTNG

TestNG 圖解說明

我們雖然隻有一個測試方法,但同一個沒試方法有兩組資料,是以被執行兩次