1、前提
-
關於使用Jenkins創建job完成自動化測試,核心在於項目的拉取和執行,至於job的創建大同小異,需要了解的可以自行百度Google或參考文章:
01-Jenkins之job創建、參數化與定時構建以及時區偏差填坑 -
另外還需要的就是執行機的環境(以GitHub拉取項目爲例),需要
- 需要配置
Java
運行環境(我用的是jdk1.8) - 需要有
maven
環境 - 需要有
git
環境 - 需要將
git
的公鑰加入GitHub的SSH key
具體細節操作可自行百度Google或參考文章:
02-Jenkins如何管理、配置、運行node節點,用slave進行分佈式運行 - 需要配置
-
已經存在一個接口自動化測試的項目
下面就僅重點介紹需要注意的點
2、job創建
2.1 源碼管理
1)新建job後,在【源碼管理】中選中Git,Repository URL
中填入GitHub中的項目地址:
2)在【Credentials】中我們需要Git的認證纔可以使用git去拉取代碼,點擊【添加】,這裏選擇的是SSH的方式
【Username】中填寫你Git的用戶名,可以使用git config user.name
命令查看
$ git config user.name
mygitUsername
【Private Key】中填入你Git的私鑰,可以使用cd ~/.ssh
進行查找,將id_rsa
中的內容填入即可
$ cd ~/.ssh
$ ls
id_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個
3、Jenkins+Allure
3.1 安裝配置
關於allure2報告不是本文的重點,所以在這裏就不在贅述了,需要的小夥伴可以自行查閱資料或參考以前的帖子
1) 插件安裝,先在Jenkins的【插件管理】中搜索安裝Allure插件,如下:
2)回到job中,在【構建後的操作】中選擇Allure Report
,填入allure-result的路徑
- 踩坑時刻: 這裏Results的路徑要注意填寫你實際的存放路徑,
Jenkins
例子和網上很多文章都直接寫了填寫target/allure-results
,如果你的路徑不對,肯定就找不到數據;比如我這裏在前面已經設置了一個項目子目錄,所以要填入子目錄的路徑。
3.2 構建結果
再次執行構建,查看結果
- 構建完成後我們可以看到已經有了allure報告的標識
- 點擊查看,報告完美展示