pytest+allure(pytest-allure-adaptor基於這個插件)設計定制化報告


一:環境准備

 

  • 1.python3.6
  • 2.windows環境
  • 3.pycharm
  • 4.pytest-allure-adaptor
  • 5.allure2.8.0
  • 6.java1.8

 

pytest-allure-adaptor快速安裝

在cmd中輸入 pip install pytest-allure-adaptor,回車

二:報告生成

第1步:下載allure.zip,下載地址:allure-github: https://github.com/allure-framework/allure2 ,找到對應版本,並下載

第2步:解壓allure.zip,將路徑添加環境變量,path中,記得需要重啟電腦

第3步:驗證allure,在cmd中輸入allure,然后回車,如果可以看到一下,說明配置完成

 

第4步:運行測試用例 pytest.main(["-m","login","-s","-q","--alluredir","./report"])

"-m": 標記用例

"login": 被標記需要執行用例

"-s":允許終端在測試運行時輸出某些結果,例如你想輸入print的內容,可以加上-s

"-q"簡化輸出結果

"--alluredir": 生成allure指定語法

"./report":生成報告的路徑

"--clean-alluredir" :因為這個插件庫allure-pytest生成的報告文件,你第二次運行時候不會清理掉里面的東西,所以你需要刪除這個report文件夾,然后運行重新新建reoprt文件夾

說明:運行后,會在report文件夾里面生成文件

三.allure定制化報告

第1步:一些詞語解釋

一、feature: 標注主要功能模塊。
二、story: 標注Features功能模塊下的分支功能。
三、severity: 標注測試用例的重要級別。

1)blocker級別:中斷缺陷(客戶端程序無響應,無法執行下一步操作)
2)critical級別:臨界缺陷(功能點缺失)
3)normal級別:正常    默認為這個級別
4)minor級別:次要缺陷(界面錯誤與UI需求不符)
5)trivial級別:輕微缺陷(必輸項無提示,或者提示不規范) 

四、step: 標注測試用例的重要步驟。

五、attach:用於向測試報告中輸入一些附加的信息,通常是一些測試數據信息。

 

1)name就是附件名稱,contents就是附件,type就是傳類型

2)附件支持的類型(TEXT,HTML,XML,PNG,JPG,JSON,OTHER)

六、issue:這里傳的是一個連接,記錄的是你的問題。

七、testcase:這里傳的是一個連接,記錄的是你的用例。

八、environment:標記用例運行的環境。

九、description:描述用例信息

 

 注意:因為是使用這個插件pytest-allure-adaptor,所以需要@allure.MASTER_HELPER.方法(其中MASTER_HELPER是AllureHelper()的實例化對象,需要@allure.MASTER_HELPER再調用里面的方法)

第2步:代碼展+報表展示

feature方法的演示

代碼:

報表展示:

 

story方法的演示

代碼:

 

報表展示:

severity方法的演示:

代碼:

報表展示:

 

setp方法的演示:

1.總的步驟備注

代碼:

 

報告展示:

2.分步驟備注

代碼:

報表展示:

attach方法的演示:

代碼:

 

報表展示:

 圖片附件形式:

代碼:

 

報表展示:

issue和testcase方法的演示:

代碼:

報表展示:

 

 environment 方法的演示:

代碼:(里面傳的參數可以自己定義)

報告演示:

 description方法的演示:

代碼:(這兩種備注方式不能同時是存在,如果同時存在他會先使用description的,而不取3引號的)

報告演示:

 

 

第3步:運行可能存在的問題

添加@allure.MASTER_HELPER.story()等標記后運行報錯:MarkInfo objects are deprecated as they contain merged marks which are hard to deal with correctly.

解決方法:

第一種:可以修改源碼 from allure import utils 找到這個方法下面的label_os方法,修改下面的代碼為紅色圈住的地方。

2.第二種:可以直接在運行時候,添加"-p","no:warnings",這樣就不會出現錯誤。pytest.main(["-p","no:warnings","--alluredir=./report","-v"]) 或者終端運行 pytest  -p no:warnings -s --alluredir=./report

 

四.報告顯示

報告顯示方法一:

第1步:以上運行之后,可以在CMD中運行命令

allure generate report -o html

report是alluredir生成的xml目錄,html是最終生成html的目錄

第2步:運行命令后,可以在html路徑下看到生成的數據,其中index.html就是我們要的allure報告,你可以在pycharm里面打開,報告展示如下

 

報告顯示方法二(這種相當於是調試):

第1步:以上運行之后,可以在CMD中運行命令

allure serve report   (report是alluredir生成的xml目錄)

運行后,瀏覽器會自動跳轉到allure report界面

 

四.pytest+allure+jenkins集成

參考我另外的一個博客文章:https://www.cnblogs.com/hao2018/p/11135180.html

注意:在本地運行的時候需要手動把代碼拷貝到jenkins目錄下面的workspace文件夾里面;如果在git或svn上運行,jekins會直接把代碼拷貝到workspace目錄 ,如果jenkins是指定工作目錄就不用管了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM