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

一、前提

  1. 關於使用 Jenkins 創建 job 完成自動化測試,核心在於項目的拉取和執行,至於 job 的創建大同小異,需要了解的可以參考文章:[Jenkins之job創建、參數化與定時構建以及時區偏差填坑]

  2. 另外還需要的就是執行機的環境(以 GitHub 拉取項目爲例),需要具體細節操作可自行百度 Google 或參考文章:[Jenkins如何管理、配置、運行node節點,用slave進行分佈式運行]

  • 需要配置Java運行環境(我用的是 jdk1.8)

  • 需要有maven環境

  • 需要有git環境

  • 需要將git的公鑰加入 GitHub 的SSH key

  • 已經存在一個接口自動化測試的項目

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

二、job 創建

2.1 源碼管理

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

 

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

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

 
$ git config user.namemygitUsername
 
 
 
複製代碼
 

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

 
$ cd ~/.ssh$ lsid_rsa        id_rsa.pub  known_hosts
 
 
 
複製代碼
 

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 節點上運行即可

我使用的是第二種方法:

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

2.3 構建結果

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

三、Jenkins+Allure

3.1 安裝配置

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

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

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

踩坑時刻:

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

3.2 構建結果

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

  • 構建完成後我們可以看到已經有了 allure 報告的標識

 

  • 點擊查看,報告完美展示

 

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

https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=infoQ&timestamp=1662452338=xueqi

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章