****************************************************************
說明文檔:https://docs.qameta.io/allure/
wiki:https://github.com/allure-framework/allure1/wiki
demo report:https://demo.qameta.io/allure/
sample:https://github.com/allure-examples
****************************************************************
Allure Framework是一種靈活的輕量級多語言測試報告工具,不僅以簡潔的Web報告形式顯示已測試的內容,而且可以從日常執行中提取最大程度的有用信息。
目前,Allure已集成了較多的測試框架。 支持的框架按語言分組:Java,Python,JavaScript,Ruby,Groovy,PHP,.Net和Scala。
在Java語言中,已支持jUnit4, jUnit5,TestNG,Cucumber JVM, Selenide這幾種測試框架。
Jenkins也已經有Allure的插件,方便自動生成美觀的單元測試報告。
Allure的報告,主要從Categories,Suites,Graphs,Timeline,Behaviors,Packages幾個方面來呈現。並根據異常的嚴重程度,設置不同的等級(用顏色塊表示)。
異常的信息,會有詳細的描述,如下圖所示。只要在單元測試代碼處,做一些設置,就可以獲得這些詳細信息。
一、Categories(類別)
類別提供了在測試報告中按定義的分類將不同執行結果進行分類展示的功能。
-
Allure 默認會將執行失敗的用例納入 product defects 分類中。
-
也可以自定義類別來進行展示。如下就是按自定義類別展示的界面:(todo)
二、 Suites(測試套)
可以將用例以測試集合的形式來進行展示。和 JUnit 框架結合時,默認是將每一個測試類視作一個測試套進行呈現,如圖:
三、Graphs(圖表)
在 Allure 報告的圖表頁中,會自動將當前報告中的一些關鍵信息匯總以圖表的方式可視化呈現出來,包括執行狀態、執行優先級、執行耗時、耗時趨勢、結果趨勢、分類趨勢、重試趨勢等數個維度。如圖:
四、Timeline(時間刻度)
在時間刻度頁中,提供了一個基於執行耗時的刻度表,可以非常直觀地看到每個 case 執行的耗時區間,便於直觀地識別出性能最差的用例。
五、Behaviors(功能):
功能頁是 Allure 提供的一個非常有用的特色功能。Allure 支持結合自動化測試框架深度定義不同 case 所屬的功能維度,並根據這個維度分級展示。這個分級維度和目前流行的敏捷研發的需求拆分原則基本一致,按對應需求從大到小逐級遞減:
六、Packages(包)
包頁面展示的是比測試套更高一個級別的分層,JUnit 框架中對應的就是 package 再向下對應到 class、method,如圖: