一、前提
-
關於使用 Jenkins 創建 job 完成自動化測試,核心在於項目的拉取和執行,至於 job 的創建大同小異,需要了解的可以參考文章:[Jenkins之job創建、參數化與定時構建以及時區偏差填坑]
-
另外還需要的就是執行機的環境(以 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
命令查看。
【Private Key】中填入你 Git 的私鑰,可以使用cd ~/.ssh
進行查找,將id_rsa
中的內容填入即可。
2.2 構建
在構建中我們選擇以 shell 的方式執行:
-
. ~/.bash_profile
是爲了引入我的環境變量配置 -
cd …ApiTest
是爲了進入我設置的項目目錄下 -
mvn clean install -Dtest=SearchTest
目的是爲了使用maven
制定執行 SearchTest
踩坑時刻:
這裏有一個坑需要注意,如果是用docker
啓用的Jenkins
服務,在你創建完 job 直接在 master 上構建後,會報找不到你寫的這些 shell 命令的錯誤,因爲你這個服務時跑在容器裏的,而這些 shell 命令是需要在容器外執行的,解決方法有兩種:
-
重新構建一個帶有環境的 Jenkins 變量
-
將 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 報告的標識
-
點擊查看,報告完美展示
以上,歡迎大家一起交流探討。