【Python自動化】之運用Git+jenkins整合來執行展示pytest+allure測試報告
目錄:
- 一、安裝allure
- 二、生成allure報告
- 三、結合jenkins來整合pytest+allure
- 四、
- 五、附錄
一、安裝allure
# 安裝allure brew install allure
安裝完之後,檢視是否成功!
# 檢視allure版本 allure --version
二、生成allure報告
1、安裝allure-pytest外掛
為什麼要安裝這個呢,因為需要與pytest整合,能夠在pytest執行完成之後,生成allure的檔案
# 安裝allure-pytest pip install allure-pytest
2、生成報告
程式碼目錄結構
新建report報告目錄,然後執行test_v2ex_api2.py檔案生成報告在report裡。
# 執行檔案並且在report目錄下生成報告檔案 pytest test_v2ex_api2.py --alluredir ./report/
3、開啟報告
# 開啟report目錄下的報告 allure serve ./report
執行完命令之後自動開啟報告地址,如下所示:
4、另一種生成allure報告
上一種報告生成時,命令列還在一直執行中,只有停止執行才能繼續寫命令,下面這種是直接生成index.html檔案,直接本地開啟即可。
# 執行下面的命令,會自動生成allure-report目錄allure generate ./report
生成的報告不需要命令列一直執行:
選中index.html檔案,右鍵【Open in Browser】開啟瀏覽器:
如果下次再執行的時候一定加上“--clean”
# 再一次生成報告 allure generate ./report --clean
但是有一個問題,report目錄下的報告檔案數量會越來越多
檢視報告得知,會顯示歷史記錄,估計可能是展示這個用的吧
三、結合jenkins來整合pytest+allure
1、首先去jenkins外掛網站上下載allure外掛最新版本:
http://mirrors.jenkins-ci.org/plugins/allure-jenkins-plugin/
2、開啟jenkins,在系統管理 —> 外掛管理 —>Advanced —> Upload Plugin
下載的.hpi的檔案上傳至jenkins上
安裝外掛
安裝成功
3、在jenkins 全域性工具當中配置allure命令列
在 系統管理 —> 全域性工具配置 —> 當中做以下配置(allure和jdk),配置完並儲存:
①配置jdk
# 搜尋java路徑 which java @:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin/java
②配置allure
# 檢視brew安裝的allure目錄 brew list allure
③新建jenkins專案
④配置allure報告
# shell命令 cd /Users/zhangc/Desktop/GitTest/project_Buger_2/Pytest pytest test_v2ex_api2.py --alluredir ./report/ allure generate ./report --clean exit 0 # <==必須加上這個否則會報錯
⑤加上工作目錄
不加上的話,否則生成的報告會為空的。
⑥自動構建並檢視生成的報告
檢視報告!!!
四、結合Git整合Jenkins+Pytest+Allure測試報告
1、配置git地址
2、執行shell並配置allure報告路徑
cd /Users/zhangc/.jenkins/workspace/Pytest+Allure+Jenkins+Git整合/Pytest rm -rf ./report/* # ①一種寫法 pytest test_v2ex_api.py --alluredir ${WORKSPACE}/Pytest/report # ②另一種寫法 pytest test_v2ex_api.py --alluredir ./report exit 0
3、易錯地方
五、附錄
*** 只是看了看
**** 參考了一點
***** 參考很多
①感謝五娃兒的文章:《Mac+Python3.6.5 + Pytest3.8.0 + Allure2.7 環境搭建》***
②感謝minluoying的文章:《Mac os + pytest + allure》****
③感謝幸運球與倒黴蛋的文章:《pytest+allure+jenkins持續整合》*****
④感謝Believer的文章:《Pytest單元測試框架——Pytest+Allure+Jenkins的應用》*****
⑤感謝tang.yongyue的文章:《Mac+Pytest+Allure+Jenkins常見問題彙總》***
⑥感謝wuwei丶的文章:《Python+Pytest+Allure+Git+Jenkins介面自動化框架》****
⑦感謝月月0001的文章:《jenkins+pytest+allure+git環境搭建》*****