pytest+jenkins+allure 生成測試報告

先描述下,在沒有jenkins的情況下,如何用allure生成測試報告的.

前置條件  安裝allure,將allure\bin配置到環境變量中。allure是依賴java的,所以要先安裝好java環境


生成html的步驟 

1、先生成json文件

執行命令:pytest.main(["-sq", "test_sample.py" ,'--alluredir=report']) 其中參數--alluredir=report是指在當前目錄下面新建一個report目錄,生成json文件存儲在report裏面

2、將json文件生成html文件 執行 allure generate report/ -o report/html
其中的report/ 爲生成的json路徑, report/html是在report下生成一個html文件夾,裏面存儲有最終的測試結果,這裏用的都是相對路徑,也可以用絕對路徑來生成.

生成的結果可以到html文件夾裏面查看,這裏有個坑,用chrome打開的時候,可能會沒數據,但是換成火狐就可以正常顯示,還不清楚爲什麼.

 

接下來就是在jenkins中使用allure生成自動化測試結果了.

首先是安裝對應的插件allure-jenkins-plugin  HTML Publisher plugin 在系統管理--插件管理裏面

接下來安裝allure的執行工具 https://github.com/allure-framework/allure1/releases/download/allure-core-1.5.2/allure-commandline.zip,下載後今日系統管理---global_tool_configuration,配置allure commandline

接下來開始配置job,新建一個new item

2/配置item

先修改use custom wrokspace ,方便後續allure讀取生成的json.以及從json生成html.,這裏我配置的是腳本的文件夾路徑

我的腳本文件的格式如下:

後續需要用到的test_sample.py在配置的workspace下.

3/配置構建腳本,這裏的腳本是要執行的測試任務,以及生成allure需要的json文件,爲了方便理解,我直接都用了絕對路徑,執行前面的任務

--alluredir d:\django_project\p3_tongtool\report12  report是一個文件夾,存放生成的json文件

後面的exit 0 是爲了方便腳本退出,不加的話,構建的過程中會提示錯誤.

4/最後的任務就是把批處理生成的json 生成配置allure,根據前面的執行命令 allure generate report/ -o report/html ,我們需要知道存放json的路徑,還要指定一個存放生成html的文件夾.帶着這個思維,我們看下jenkins下關於allure的配置.

點擊advanced,展示allure report的配置

以上的配置,就是最後將json轉化爲html的時候,將結果存放於%workspace%/allure-report1文件夾了

點擊保存,配置完畢.

然後執行構建.看來輸入的日誌

可以看到,輸入的日誌中,操作步驟和pytest+allure中的一致,唯一的區別只是allure的操作在jenkins中集成了.

 

最後可以看下jenkins中輸出端 結果

在jenkins中的結果,比較python+allure的結果,多了一個trend的結果,在jenkins中,可以持續展示構建的結果趨勢.

這樣就可以在jenkins中,通過構建,來執行自動化測試了,再配置觸發自行的條件,就能實現持續構建了,這塊後續補充.

參考文檔:https://www.jianshu.com/p/8bbb95b2cb8d

發佈了106 篇原創文章 · 獲贊 22 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章