allure -- 報告結構 和 各種裝飾器使用


一、報告結構

1.側邊欄介紹

  • Overview:總覽
  • Categories:類別,默認是分了failed和error,凡是執行結果是其中一個的都會被歸到類里面,可以通過這里快捷查看哪些用例是failed和error的,支持自定義
  • Suites:測試套件,就是所有用例的層級關系,可以根據package、module、類、方法來查找用例
  • Graphs:測試結果圖形化,包括用例執行結果的分布圖,優先級,耗時等
  • Timeline:可以看到測試用例精確的測試時序(執行順序),包括執行時間
  • Behaviors:行為驅動,根據epic、feature、story來分組測試用例
  • Packages:這就是按照package、module來分組測試用例了

2.界面描述

二、allure各種裝飾器屬性介紹

1.添加環境描述文件

2.自定義categories分類【側邊欄Categories中】

3.模塊分類標記:【側邊欄Behaviors中】

  • @allure.epic("總描述")史詩級,往下是 feature
  • @allure.feature("測試模塊描述"):功能點的描述,往下是 story
  • @allure.story("測試描述"):故事級,再往下就是 用例的title

知識點:

  • 提供了三個等級裝飾器,類似於pytest的@pytest.mark.xxoo ,且三個有樹狀層級關系
  • 也支持像pytest一樣支持運行某些或某個有某類標記的用例,詳見原文鏈接

4.自定義Suites中【側邊欄Suites-中間 用例層級關系】

  • @allure.suite('這是天氣套件')  # 可裝飾給類

5.修改用例默認顯示名稱:【中間 用例層級關系中的用例名稱】

  • @allure.title("不再顯示默認test_01名稱,顯示這個,可讀性高,建議使用")
  • @allure.title("成功登錄,測試數據是:{test_loginss}")  動態標題,結合@pytest.mark.parametrize使用

6.添加用例操作步驟的說明 【右側 Test body】

  • @allure.step("第一步") :允許對每個測試用例進行非常詳細的步驟說明,可以讓測試用例在allure報告【右側Test body】中顯示詳細的測試過程

7.添加附件操作:【右側 用例下方]

  • 添加文字 :allure.attach(body='附件的內容', name='附件名字', attachment_type=allure.attachment_type.TEXT)
  • 添加html頁面:allure.attach(body='<head></head><body> HTML頁面代碼 </body>', name='附件名字', attachment_type=allure.attachment_type.HTML)
  • 引入已有文件:allure.attach.file(source='./reports.html', attachment_type=allure.attachment_type.HTML)

8.添加注釋或描述:會顯示在【右側 Description】

  • @allure.description("描述內容"),其實等同於 直接在測試用例函數名下添加  """ 注釋內容""",喜歡哪種用哪種
  • @allure.description_html(str):相當於傳一個HTML代碼組成的字符串,類似 allure.attach() 中傳HTML

9.添加鏈接跳轉:【右側 Link】

  • @allure.link(url, link_type=LinkType.LINK, name=None)
  • @allure.issue()
  • @allure.testcase()

知識點:

  • issue()和testcase()其實調用的也是link(),三個方法是一樣的,只是link_type不一樣顯示出來樣式不同,可以更好地區分【訪問鏈接、Bug鏈接、測試用例鏈接】
  • 必傳參數 url:跳轉的鏈接
  • 可選參數 name:鏈接的顯示,默認原鏈接,建議傳!!不然可讀性不高
  • 而出現三個裝飾器的原因是為了更好地將鏈接分類【訪問鏈接、Bug鏈接、測試用例鏈接】

10.allure.dynamic.xxoo() 動態生成裝飾器

上面講的好多個裝飾器,其實都支持配合參數動態生成,如下:詳情見原鏈接

11.添加標簽Tags: 【右側 Tags】

  • @allure.tag('這是tag')

12.添加用例等級:【中間圖表 + 右側Severity 】

severity 看上去像是嚴重程度,官方翻譯為優先級,代表的也是優先級

allure支持給用例設置等級,在 allure 報告中可看到各個用例的等級,也可以看到各優先級的失敗、通過用例數,以及哪條用例是失敗、通過的

命令行也可以根據優先級,選擇需要運行的測試用例,詳見原文鏈接 

  • @allure.severity("normal")

等級介紹:

  • blocker:阻塞缺陷(功能未實現,無法下一步)
  • critical:嚴重缺陷(功能點缺失)
  • normal: 一般缺陷(邊界情況,格式錯誤)
  • minor:次要缺陷(界面錯誤與ui需求不符)
  • trivial: 輕微缺陷(必須項無提示,或者提示不規范)


免責聲明!

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



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