基於接口自動化測試完成 Jenkins+GitHub+Allure 的結合

(四)|基於接口自動化測試完成 Jenkins+GitHub+Allure 的結合

本文為霍格沃茲測試學院優秀學員 Jekins 學習踩坑筆記。測試開發技能進階,文末加群。

一、前提

  1. 關於使用Jenkins創建job完成自動化測試,核心在於項目的拉取和執行,至於job的創建大同小異,需要了解的可以參考文章:[Jenkins之job創建、參數化與定時構建以及時區偏差填坑]
  2. 另外還需要的就是執行機的環境(以GitHub拉取項目為例),需要具體細節操作可自行百度Google或參考文章:[Jenkins如何管理、配置、運行node節點,用slave進行分佈式運行]
  3. 需要配置Java運行環境(我用的是jdk1.8)
  4. 需要有maven環境
  5. 需要有git環境
  6. 需要將git的公鑰加入GitHub的SSH key
  7. 已經存在一個接口自動化測試的項目

下面就僅重點介紹需要注意的點。

二、job 創建

2.1 源碼管理

1)新建job後,在【源碼管理】中選中Git,Repository URL中填入GitHub中的項目地址:

(四)|基於接口自動化測試完成 Jenkins+GitHub+Allure 的結合

(四)|基於接口自動化測試完成 Jenkins+GitHub+Allure 的結合

2)在【Credentials】中我們需要Git的認證才可以使用git去拉取代碼,點擊【添加】,這裡選擇的是SSH的方式。

(四)|基於接口自動化測試完成 Jenkins+GitHub+Allure 的結合

【Username】中填寫你Git的用戶名,可以使用git config user.name命令查看。

<code>$ git config user.name
mygitUsername/<code>

【Private Key】中填入你Git的私鑰,可以使用cd ~/.ssh進行查找,將id_rsa中的內容填入即可。

<code>$ cd ~/.ssh
$ ls
id_rsa        id_rsa.pub  known_hosts/<code>

2.2 構建

在構建中我們選擇以shell的方式執行:

  • . ~/.bash_profile是為了引入我的環境變量配置
  • cd …ApiTest是為了進入我設置的項目目錄下
  • mvn clean install -Dtest=SearchTest目的是為了使用maven制定執行SearchTest

踩坑時刻:

這裡有一個坑需要注意,如果是用docker啟用的Jenkins服務,在你創建完job直接在master上構建後,會報找不到你寫的這些shell命令的錯誤,因為你這個服務時跑在容器裡的,而這些shell命令是需要在容器外執行的,解決方法有兩種:

  1. 重新構建一個帶有環境的Jenkins變量
  2. 將master創建成一個slave,在slave節點上運行即可

我使用的是第二種方法:

(四)|基於接口自動化測試完成 Jenkins+GitHub+Allure 的結合

創建好slave後在job中設置運行在master_slave節點上:

(四)|基於接口自動化測試完成 Jenkins+GitHub+Allure 的結合

2.3 構建結果

執行構建,在控制檯輸出中查看log,BUILD SUCCESS!構建成功,用例執行了11個,失敗了3個。

(四)|基於接口自動化測試完成 Jenkins+GitHub+Allure 的結合

三、Jenkins+Allure

3.1 安裝配置

關於Allure2報告不是本文的重點,所以在這裡就不在贅述了,需要的小夥伴可以自行查閱資料。

1)插件安裝,先在Jenkins的【插件管理】中搜索安裝Allure插件,如下:

(四)|基於接口自動化測試完成 Jenkins+GitHub+Allure 的結合

2)回到job中,在【構建後的操作】中選擇Allure Report,填入allure-result的路徑

(四)|基於接口自動化測試完成 Jenkins+GitHub+Allure 的結合

踩坑時刻:

這裡Results的路徑要注意填寫你實際的存放路徑,Jenkins例子和網上很多文章都直接寫了填寫target/allure-results,如果你的路徑不對,肯定就找不到數據;比如我這裡在前面已經設置了一個項目子目錄,所以要填入子目錄的路徑。

3.2 構建結果

再次執行構建,查看結果:

  • 構建完成後我們可以看到已經有了allure報告的標識
  • 點擊查看,報告完美展示

以上,歡迎大家一起交流探討。


分享到:


相關文章: