pytest是python的一款測試框架,擁有unittest的功能並比它更豐富。
allure是什么
有非常多的優秀的測試框架,但卻是有非常少優秀的報告工具可以展示非常清楚的用例執行過程和結果。
allure是一款開源的,專門用來展示測試結果的工具,目的是希望團隊內部每一個人都可以看到非常清楚的測試結果。
allure可以與非常多的著名測試框架做集成。
像java語言,可以與junit4,junit5,TestNG測試框架集成。
python語言,可以與pytest,behave,nose測試框架集成。
allure會將測試用例的執行數據保存到xml文件當中,再利用allure的命令行將文件轉換成html形式呈現出來。
allure的官方地址:http://allure.qatools.ru/
安裝allure命令行
官網提供了每個平台的,命令行安裝方式。
以下是手動安裝方式,適用於各平台:
1、從Maven Center下載最新的安裝包:
http://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
目前是2.12.1的版本。
2、將包解壓到任何一個目錄。建議不要選C盤或者路徑很深的。比如D:\allure-command-2.12.1
3、跳轉到解壓后的bin目錄下面,windows下執行allure.bat。其它平台執行allure.
4、配置allure的環境變量:
5、在命令行當中運行allure —version。
allure與pytest的集成
在allure安裝完成之后,需要與pytest集成,能夠在pytest運行完成之后,生成allure的文件 。
1、安裝pytest的allure支撐插件。
pip命令行:pip install allure-pytest
2、在執行pytest命令時,添加allure命令參數:—alluredir=Outputs/allure (相對於pytest命令所在目錄的測試報告目錄)
1 if __name__ == '__main__': 2 pytest.main(["-s","-v","--html=Outputs/reports/pytest.html", 3 "--alluredir=Outputs/allure"]) # allure文件生成的目錄
3、等待pytest執行完所有的測試用例,在Outputs/allure下會生成一些文件。
在cmd命令行當中,執行:allure serve 測試結果文件目錄,就會生成漂亮的html報告。
allure與jenkins的集成
allure與jenkins集成之后,可以直接在jenkins上,直接查看到上圖的allure結果。
並因為jenkins的構建記錄都存在,所以可以看到歷史構建曲線圖,用例數的變化、通過率的變化、耗時的變化等均可查看到。
集成步驟如下:
1、在jenkins上安裝allure插件。
Step1: 去jenkins插件網站上下載allure插件最新版本:
http://mirrors.jenkins-ci.org/plugins/allure-jenkins-plugin/
Step2: 打開jenkins,在系統管理 —> 插件管理 —>Advanced —> Upload Plugin
上傳.phi格式的插件,點擊[上傳]操作。
會自動跳轉到以下頁面。此處黃色球的提醒是指:此插件已經安裝了,jenkins需要重啟使此更新生效。
若是第一次安裝,應該是藍色球。
可將jenkins服務重新重啟,使安裝的插件生效。
2、在jenkins 全局工具當中配置allure命令行。
在 系統管理 —> 全局工具配置 —> 當中做以下配置(allure和jdk),配置完並保存:
3、在Job當中,配置allure報告展示:
針對以上,我對job做了以下調整:
1、將當前job的工作空間調整為,我的pytest用例所在工程目錄:
2、在build當中,直接執行1中目錄下的python文件(包含了pytest生成allure報告的命令)
配置完成之后,立即構建此工程。連續構建幾次,有了歷史記錄之后