jenkins合入之后,想從jenkins端直接allure-serve 看報告,沒有搭建網絡服務,看不了,看了下jenkins有allure-report插件。
以下是設置順序:
1.slave機器下載allure2的安裝包並解壓
wget https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.13.3/allure-commandline-2.13.3.zip
2.jenkins添加allure-report插件
3.jenkins全局工具配置allure report
4.slave機器配置好java環境
5.jenkins構建后report設置(根據自己的maven的項目result地址設置)
6.構建后生成報告一直沒有數據,看了下操作台日志,說找不到report目錄,修改了一下配置:
遇到的其他的問題和解決方案:
1.mvn clean的時候經常出現mvn clean 東西刪不掉,登錄slave機器后手動可以刪除,懷疑是權限問題,后面排查了一下,應該是yaml資源關閉之類的問題
解決辦法:沒有找到源頭解決方案,解決方法是手動rm target文件夾;
2.allure 命令在slave機器中手動用的時候可以用,在jenkins中用不了,屢次報錯,也是權限問題,修改后搞定;
解決辦法: chmod -R 777 /path-to-allure
3.優化代碼結構,讓所有接口請求共享cookie,使用了一個RequestSpecBuilder()
類來傳cookie,結果一直有問題,json一直傳不了,后來把builder放在jsonbody賦值的前面。
解決辦法:原因是build的時候會把之前request傳入的一些數據的域清空,應該是restassured的官方的一個bug,有時間的話去給原作者提一個bug.