pytest(二十九)--allure标记用例级别severity
前言
我们在做功能测试的时候,执行完一轮测试用例,输出测试报告的时候,会有统计缺陷的数量和等级。在做自动化测试的过程中,当你的测试用例越来越多的时候,如果执行一轮测试发现了几个测试不通过,我们也希望能快速统计出缺陷的等级。
pytest结合allure框架可以对用例的等级做详细的划分。
用例等级
allure对用例的等级划分成五个等级
- blocker 阻塞缺陷(功能未实现,无法下一步)
- critical 严重缺陷(功能点缺失)
- normal 一般缺陷(边界情况,格式错误)
- minor 次要缺陷(界面错误与ui需求不符)
- trivial 轻微缺陷(必须项无提示,或者提示不规范)
pytest用例
根据测试用例的重要性划分测试用例等级,如果没指定等级,默认为normal级别
#test_answers.py
import allure
@allure.severity("normal")
def test_1():
'''测试某某11'''
print("test_1 111")
@allure.severity("critical")
def test_2():
'''测试某某22'''
print("test_2 222")
@allure.severity("blocker")
def test_3():
print("test_3")
@allure.severity("critical")
def test_4():
print("test_4 444")
def test_5():
'''测试某某55'''
print("test_5 555")
def test_6():
print("test_6 666")
cd到该脚本的目录,执行用例,查看报告
pytest --alluredir ./report/allure #执行用例 allure serve ./report/allure #查看报告
查看报告详情

统计缺陷
如果执行用例的过程中有测试用例不通过的情况,也可以统计缺陷的严重等级
#test_answers.py
import allure
@allure.severity("normal")
def test_1():
'''测试某某11'''
print("test_1 111")
@allure.severity("critical")
def test_2():
'''测试某某22'''
print("test_2 222")
assert False
@allure.severity("blocker")
def test_3():
print("test_3")
@allure.severity("critical")
def test_4():
print("test_4 444")
def test_5():
'''测试某某55'''
print("test_5 555")
assert 1==2
def test_6():
print("test_6 666")
重新执行用例,查看报告-图表

allure命令行参数allure-severities
pytest -h|more 可以查看到allure相关的几个命令行参数

如果有很多测试用例,现在只想做个快速的回归测试,只测试用例级别为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
越努力,越幸运!!!
good good study,day day up!!!
浙公网安备 33010602011771号