用例等級
allure對用例的等級划分成五個等級
- blocker 阻塞缺陷(功能未實現,無法下一步)
- critical 嚴重缺陷(功能點缺失)
- normal 一般缺陷(邊界情況,格式錯誤)
- minor 次要缺陷(界面錯誤與ui需求不符)
- trivial 輕微缺陷(必須項無提示,或者提示不規范)
比如我的用例有以下4條
那么對應的用例的等級應該是
- 修改個人信息-sex參數為空 這個屬於邊界值情況的測試,應該是normal級別
- 修改個人信息-sex參數傳F和M兩種類型,成功(枚舉類型) 這個是針對接口的功能點詳細測試 critical級別
- 修改個人信息-修改不是本人的用戶信息,無權限操作 這個是針對接口的功能點詳細測試 critical級別
- 修改個人信息-修改自己的個人信息,修改成功 這是用例是測試主流程 blocker級別
pytest用例
根據測試用例的重要性划分測試用例等級,如果沒指定等級,默認為normal級別
import pytest
import allure
@allure.severity裝飾器按嚴重性級別來標記case 執行指定測試用例 --allure-severities blocker
BLOCKER = 'blocker' 阻塞缺陷 CRITICAL = 'critical' 嚴重缺陷 NORMAL = 'normal' 一般缺陷 MINOR = 'minor' 次要缺陷 TRIVIAL = 'trivial' 輕微缺陷 '''
@allure.severity("normal")
def test_case_1():
'''修改個人信息-sex參數為空'''
print("test case 11111111")
@allure.severity("critical")
def test_case_2():
'''修改個人信息-sex參數傳F和M兩種類型,成功(枚舉類型)'''
print("test case 222222222")
@allure.severity("critical")
def test_case_3():
'''修改個人信息-修改不是本人的用戶信息,無權限操作'''
print("test case 333333333")
@allure.severity("blocker")
def test_case_4():
'''修改個人信息-修改自己的個人信息,修改成功'''
print("test case 4444444")
def test_case_5():
'''沒標記severity的用例默認為normal'''
print("test case 5555555555")
cd到用例的目錄,執行用例,查看報告
pytest --alluredir ./report/allure
allure serve ./report/allure
查看報告詳情
統計缺陷
如果執行用例的過程中有測試用例不通過的情況,也可以統計缺陷的嚴重等級
# 修改上面2個用例,故意讓用例失敗
@allure.severity("blocker")
def test_case_4():
'''修改個人信息-修改自己的個人信息,修改成功'''
print("test case 4444444")
assert 1==2
def test_case_5():
'''沒標記severity的用例默認為normal'''
print("test case 5555555555")
assert 1==2
重新執行用例,查看報告-圖表
allure命令行參數allure-severities
pytest -h可以查看到allure相關的幾個命令行參數
--allure-severities=SEVERITIES_SET
Comma-separated list of severity names. Tests only
with these severities will be run. Possible values
are: blocker, critical, normal, minor, trivial.
如果有很多測試用例,現在只想做個快速的回歸測試,只測試用例級別為blocker和critical級別的測試用例
pytest --alluredir ./report/allure --allure-severities blocker,critical
也可以這樣寫
pytest --alluredir=./report/allure --allure-severities=blocker,critical
如果只執行blocker級別的用例
pytest --alluredir=./report/allure --allure-severities=blocker