allure用法(一)-配置資訊及基本用法
allure是一個輕量級的,靈活的,支援多語言的測試報告工具
優點:
- 可以為dev/qa 提供 詳盡的測試報告、測試步驟、日誌
- 可以為管理層提供更好的統計報告
- Java語言開發的
- 可以整合到jenkins
配置資訊(顯示在測試報告中):
1.environment.properties或environment.xml 自己在allure-results目錄下建立,存放環境資訊
2.categories.json 測試結果的分類,預設有兩類缺陷,Product defects和 Test defects,同樣放在allure-results目錄下
[ {"name": "Ignored tests", "matchedStatuses": ["skipped"] }, { "name": "Infrastructure problems", "matchedStatuses": ["broken", "failed"], "messageRegex": ".*bye-bye.*" }, { "name": "Outdated tests", "matchedStatuses": ["broken"], "traceRegex": ".*FileNotFoundException.*" }, { "name": "Product defects", "matchedStatuses": ["failed"] }, { "name": "Test defects", "matchedStatuses": ["broken"] } ]
引數解釋:
name:分類名稱
matchedStatuses:測試用例的執行狀態,預設["failed", "broken", "passed", "skipped", "unknown"]
messageRegex:測試用例執行的錯誤資訊,預設是 .* 正則匹配
traceRegex:測試用例執行的錯誤堆疊資訊,預設是 .* 正則匹配
配置資訊在報告中的顯示(注意生成報告的目錄也要在allure-results目錄下,才可以看到environment資訊,否則會顯示為空)
執行:
- 安裝allure-pytest外掛
pip install allure-pytest
- 執行
先測試執行期間收集結果
--alluredir 用於指定儲存執行結果的路徑
pytest [測試檔案] -s -q --alluredir=./result/
檢視測試報告
allure serve ./result/
allure常用特性
在報告中檢視測試功能,子功能或場景,測試步驟,測試附加資訊
@feature @story @step @attach
使用
- import allure
- 功能上加@allure.feature('功能名稱')
- 子功能上加@allure.story('子功能名稱')
- 步驟上加@allure.step('步驟細節')
- @allure.attach('具體文字資訊'),需要附加的資訊,可以是資料、文字、圖片、視訊、網頁
- feature相當於一個大功能,一個模組,將case分到某個feature中,story對應這個功能或模組下的不同場景,分支功能,feature和story類似父子關係
只測試某一功能時可以增加限制過濾
pytest 檔名 --allure-features '功能模組' --allure-stories '子功能模組'
allure-step
測試過程中每一個步驟,一般放在具體邏輯方法中,可以放在關鍵步驟
用法:
@allure.step() 只能以裝飾器的方式放在類或方法上面
with allure.step():可以放在測試方法裡,測試步驟的程式碼需要被該語句包含
例如:
import pytest
import allure
@allure.feature("測試allure功能") class Test_param: @allure.story("測試子模組功能") # @myskip def test_param(self,a=1,b=2): with allure.step("測試a+b的值"): assert a+b == 3 print(a+b)
執行結果:
allure-link
@allure.link(“連結地址”,name="") name是為連結地址指定一個名稱
@allure.link("http://www.baidu.com",name="百度一下") def test_link(self): print("測試連結") pass
執行結果: