本文為霍格沃茲測試學院優秀學員 Jekins 學習踩坑筆記。測試開發技能進階,文末加群。
一、前提
- 關於使用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命令查看。
<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命令是需要在容器外執行的,解決方法有兩種:
- 重新構建一個帶有環境的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報告的標識
- 點擊查看,報告完美展示
以上,歡迎大家一起交流探討。
閱讀更多 霍格沃茲軟件測試學院 的文章