背景:css
python3+appium+pytest+allure寫了安卓的自動化腳本,在windows本機pycharm上跑經過後生成了allure報告。 公司jenkins搭建在linux服務器上。html
痛點:java
1.allure報告須要一堆css/js靜態數據文件,才能展現數據,給領導彙報時總不能一丟就丟個大大的壓縮包,而且還不能保證能查當作功的吧----edge瀏覽器能打開,其餘瀏覽器打開無數據;node
2.把腳本集成到jenkins上,整到linux服務器上跑,又得在服務器上去折騰一套環境出來,須要安裝的包node、sdk、net、appium、adb 巴拉巴拉的,蠻多,appium還必須保證時時刻刻是啓動的狀態,服務器上測試識別不到真機,只能用安卓模擬器測試。總結下來不必,本機上連真機測試就好。python
指望:方便他人直觀的看到測試報告linux
解決方案:nginx
1.不在服務器上運行測試腳本,單純地利用jenkins中的allure插件查看測試報告;windows
2.起個nginx服務,把把測試報告文件夾放在www目錄下,配置一下映射這個index.html;瀏覽器
最終選擇:服務器
最後仍是選擇在jenkins裏去裝個插件,比較簡單
實施步驟:
1.打開jenkins--插件管理--可選插件,搜索安裝最新版allure;
2.下載allure-commandline 工具:https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.7.0/allure-2.7.0.zip,安裝到服務器/export/runtimes/allure-commandline(路徑能夠本身定)下;
注意:解壓後,須要配置環境變量,vi /etc/profile,追加兩行內容後,. /etc/profile使修改後 的配置生效:
export ALLURE_HOME=/export/runtimes/allure-commandline
export PATH=$PATH:$ALLURE_HOME:/bin
驗證服務器上allure安裝是否成功:輸入allure,運行無報錯。
3.安裝好1,2後重啓jenkins,將pytest生成的測試結果xml和html兩個文件夾上傳到svn上去。在jenkins構建一個新項目,代碼源:svn上測試結果路徑。
構建步驟:無,一開始我在構建步驟下寫了:allure generate \xml_report_path -o \html_report_path --clean,後來一執行發現有兩條allure generate執行記錄,緣由是構建後操做中添加allure-report後,這個插件會自動去執行這條命令,並不須要人爲去輸入,執行兩次後報告裏反而會沒有數據。
構建後步驟:增長allure-report,以下:
圖中這兩個目錄不同,不然會提示找不到allure-report或allure-result路徑。
4. 點擊構建,報錯了,提示: java.io.IOException: Can't find allure commandline <null> ,初步能夠判斷是第二步allure-commandline 的問題,服務器上執行allure --vresion,也能返回正確版本號,說明服務器上allure是沒問題的。這時候,就要去jenkins上去配置全局工具配置了。輸入別名,勾選自動安裝選擇maven 2.5.1就行了。但更可能碰到的狀況是設置完後依然報一樣的錯,這時,就須要按下圖來設置:
這裏設置完成後,還須要去系統設置--全局屬性下添加安裝目錄:
這個時候去執行,你就會發現不會再報allure-commandline找不到的錯了。
5.再次構建,allure報告和趨勢圖就出來了,點擊allure-report就能跳轉到正確的報告頁面了。
若是碰到提示沒有配置java的報錯,就到系統管理-全局工具配置中添加jdk路徑。