解決jenkins生成報告為空

2022-09-11 13:24:16 字數 2704 閱讀 5997

前言allure框架是乙個功能強大的自動化測試報告工具,不僅支援多種程式語言,而且能夠完美的與各種整合工具結合,包括jenkins,teamcity,bamboo,m**en等等,因此受到了很多測試人員的青睞,那麼今天我們就簡單的來講解一下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.選擇[**ailable]選項,搜尋輸入框輸入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)

輸入如下命令,我的的測試專案使用的是虛擬環境(虛擬環境如果不了解的話,可以參考 建議直接適用python自帶的生成虛擬環境方式)

ps:關於命令,要說明一下,你要知道預設的jenkins工作路徑是在workspace,前面我說過我們目前用的測試機,沒用gitlab,所以 要把專案**扔到jenkins的工作根路徑,而下方的命令,意思是,首先進入虛擬環境位址,然後啟用虛擬環境(進入虛擬環境),然後找到專案的main.py檔案所在的路徑, 執行這個檔案,這是這段命令的意義,你要明白,你的虛擬環境在哪,然後進入虛擬環境,再去啟動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模組中去獲取

Jenkins(5)生成allure報告

jenkins整合了allure外掛程式,安裝外掛程式後執行pytest allure的指令碼即可在jenkins上檢視allure報告了。在執行 的伺服器本機,我這裡是用的docker容器,在容器內部安裝allure pytest docker exec it u root 容器id bin ba...

解決 value 註解有時為空

value 使用 value private string bucketname 可能為空的地方 1.類上沒加 component註解 component 把普通類例項化到spring容器裡 component public class ossclientutil private string bu...

解決jenkins拉取報告沒有樣式的問題

出現該現象的原因在於jenkins中配置的csp content security policy 簡單地說,這是jenkins的乙個安全策略,缺省會設定為乙個非常嚴格的許可權集,以防止jenkins使用者在workspace usercontent archived artifacts中受到惡意ht...