Jenkins整合TestNG Junit自動化測試
自動化測試是Jenkins持續整合和部署的又一核心價值體現,我們先來做一個基於Junit 的 TestNG 測試。我們的實現步驟是:1、在Eclipse上安裝TestNG外掛;2、編寫Junit測試及TestNG.xml配置;3、在Jenkins上安裝xUnit外掛;4、新增構建任務的測試及報告配置。另外除了Junit測試還有模擬瀏覽器測試的Selenium測試。
在Eclipse上安裝TestNG外掛
採用update URL方式進行安裝:
輸入網址:http://beust.com/eclipse
安裝完成後重啟eclipse後生效。檢視TestNG是否安裝成功:編寫Junit測試及TestNG.xml配置
首先,在maven專案上匯入TestNG依賴環境:
匯入TestNG依賴包
新建testng class檔案
建立自己的Junit TestNG配置:
此時會生成TestNG.xml和FirstTest.java到測試目錄下。我們可以根據此方式新增其他的測試,如SecondTest.java和ThirdTest.java
下面我們來看下TestNG.xml的配置:
<?xml version="1.0" encoding="UTF-8"?> <suite name="Suite" parallel="false"> <test name="Test"> <classes> <class name="com.boonya.app.test.FirstTest" /> <class name="com.boonya.app.test.SecondTest" /> <class name="com.boonya.app.test.ThirdTest" /> </classes> </test> <!-- Test --> </suite> <!-- Suite -->
注:SecondTest.java和ThirdTest.java是手動配置進去的,因為TestNG.xml只生成一次。
在Jenkins上安裝xUnit外掛
xUnit:支援非Java以外的Junit測試。
注:Jenkins 推薦外掛安裝已經裝過Junit Plugin了。
新增構建任務的測試及報告配置
專案在編譯打包的時候需要用到testng依賴包,在pom.xml內新增如下配置:
現在來配置Jenkins,因為我們之前專案沒有新增Junit測試,所以構建命令直接使用:mvn clean install就可以了,加入Junit需要跳過測試命令為:clean install -Dmaven.test.skip=true;當我們需要執行測試類的時候,我們需要配置單元測試命令(mvn test) 或者 單元測試&整合測試命令(mvn verify)。如下圖所示:<!-- https://mvnrepository.com/artifact/org.testng/testng --> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.11</version> <scope>test</scope> </dependency>
目前階段執行測試用例使用mvn test和mvn verify都可以。接下來我們配置Test NG Junit 測試報告(Publish Junit tset result report 配置操作自動前置):
注意:TestNG版本6.x以上測試報告的地址為**/target/surefire-reports/*.xml而不是‘myproject/target/test-reports/*.xml’,您可以通過構建任務的工作空間去找到對應的測試報告路徑,如下所示:
測試結果相關資料展示
整體測試歷史成功失敗統計:
點選彩色部分進入用例分析:
進入測試報告目錄進行檢視:
index.html
emailable-report.html
TestNG 自動化Junit測試到此已配置完成。
注意:如果現在eclipse執行TestNG測試用例只需要在TestNG.xml檔案上右鍵執行Run as >TestNG suite即可。