1. 程式人生 > 實用技巧 >【Python自動化】之運用Git+jenkins整合來執行展示pytest+allure測試報告

【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 環境搭建***

②感謝的文章:《Mac os + pytest + allure****

③感謝幸運球與倒黴蛋的文章:《pytest+allure+jenkins持續整合*****

④感謝Believer的文章:《Pytest單元測試框架——Pytest+Allure+Jenkins的應用*****

⑤感謝的文章:《Mac+Pytest+Allure+Jenkins常見問題彙總***

⑥感謝wuwei丶的文章:《Python+Pytest+Allure+Git+Jenkins介面自動化框架****

⑦感謝的文章:《jenkins+pytest+allure+git環境搭建*****