1. 程式人生 > 其它 >解決jenkins生成報告為空

解決jenkins生成報告為空

jenkins搭建介面自動化踩坑記錄


前言
Allure框架是一個功能強大的自動化測試報告工具,不僅支援多種程式語言,而且能夠完美的與各種整合工具結合,包括Jenkins,TeamCity,Bamboo,Maven等等,因此受到了很多測試人員的青睞,那麼今天我們就簡單的來講解一下Jenkins中如何整合allure測試報告

專案背景:
由於測試需要用到jenkins生成的報告來發送郵件,所以本次我們是適用 測試機進行程式碼管理,暫時沒用gitlab,等搭建好以後再進行 gitlab的說明,測試機前提需要安裝環境,專案依賴的環境,jdk,jenkins等,怎麼安裝自己找哈,這邊不再多介紹了
我們專案採用的框架是python+ requests+allure +jenkins+pytest做的,所以要安裝python環境

Allure外掛安裝
Jenkins整合allure測試報告,需要安裝Allure外掛作為支援

1.開啟Jenkins,首頁點選[Manage Jenkins]
2.選擇[Manage Plugins]

3.選擇[Available]選項,搜尋輸入框輸入Allure,搜尋出來的名字就叫Allure,當安裝後名字會變為Allure Jenkins Plugin

Allure Commandline配置
1.jenkins配置頁,選擇全域性工具配置[Global Tool Configuration]

2.全域性宮配置頁下拉到最後一項,你會看到“Allure Commandline”項, 按下圖配置之後儲存即可

Job配置
新建Job
Jenkins首頁點選新建Job[New Item]
輸入job名稱,選擇自由風格的專案,點選[ok]

General配置
輸入描述資訊及其他資訊,因為我的專案在我的本地,所以我這裡未配置其他選項,你可以根據實際情況進行設定

原始碼管理(Source Code Management)

構建(Build)
輸入如下命令,我的的測試專案使用的是虛擬環境(虛擬環境如果不瞭解的話,可以參考https://blog.csdn.net/qq_39241986/article/details/106654549 建議直接適用python自帶的生成虛擬環境方式)
ps:關於命令,要說明一下,你要知道預設的jenkins工作路徑是在workspace,前面我說過我們目前用的測試機,沒用gitlab,所以 要把專案程式碼扔到jenkins的工作根路徑,而下方的命令,意思是,首先進入虛擬環境地址,然後啟用虛擬環境(進入虛擬環境),然後找到專案的main.py檔案所在的路徑, 執行這個檔案,這是這段命令的意義,你要明白,你的虛擬環境在哪,然後進入虛擬環境,再去啟動main.py檔案


cd ./venv/Scripts
activate && cd …&& cd … && python.exe main.py

構建後操作(Post-build Actions)
輸入Path名稱,這裡的path名稱表示在專案跟目錄下生成此資料夾,資料夾用來儲存生成html報告之前所依賴的json,xml,txt等型別檔案,jenkins工作路徑下建立的專案名稱和jenkins建立job時的專案名稱一致,那麼我們的報告目錄,根路徑就是專案名稱下,也就是專案的根路徑,根據你實際專案存放的地方進行存放,/report/tmp 這裡省略了專案名稱,因為預設就在專案名稱根路徑

點選[Advanced],輸入Report path名稱,這裡的path同樣會在專案的跟目錄下生成,同時儲存最後的html報告,怎麼配置不在說明,上方已經進行詳細說明

以上所有資訊配置完成後儲存即可

執行構建

在jenkins的工作空間新建名稱為pytest-allure的目錄,並把專案拷貝到此目錄(這個工作空間在General中可以自定義的,因為我沒配置所以使用的預設的工作空間) 上方也有說過,名稱記得和jenkins新建job的一樣

接下來點選[Build Now]執行構建

檢視報告

總結
整理其實不難,只是自己實際操作過程中會遇到很多問題,耐心一個個去解決就好了,不懂得就找,有很多前輩有寫過

下面我在說明一下python程式碼部署jenkins時,需要主意自己的路徑,比如你執行pytest的時候,指定路徑,你需要從os模組中去獲取

參考了文件連線:https://www.cnblogs.com