一、前言
使用@allure.severity注解,可以在 allure 报告中清晰的看到不同级别用例情况
用例等级介绍
allure 提供的枚举类
二、等级介绍
- blocker:阻塞缺陷(功能未实现,无法下一步)
- critical:严重缺陷(功能点缺失)
- normal: 一般缺陷(边界情况,格式错误)
- minor:次要缺陷(界面错误与ui需求不符)
- trivial: 轻微缺陷(必须项无提示,或者提示不规范)
这里和禅道的bug级别很像,个中使用细节根据自己情况使用
示例代码如下:
# -*- coding: utf-8 -*-
# @Time : 2020/12/13 13:48
# @Author : longrong.lang
# @FileName: test_severity.py
# @Software: PyCharm
# @Cnblogs :https://www.cnblogs.com/longronglang
import allure
@allure.severity(allure.severity_level.BLOCKER)
def test_case1():
print("case1")
@allure.severity(allure.severity_level.CRITICAL)
def test_case2():
print("case2")
@allure.severity(allure.severity_level.NORMAL)
def test_case3():
print("case3")
@allure.severity(allure.severity_level.MINOR)
def test_case4():
print("case4")
@allure.severity(allure.severity_level.TRIVIAL)
def test_case5():
print("case5")
def test_case6():
""" 没标记 severity 的用例默认为 normal"""
print("case6")
三、allure报告
测试用例详情
统计图表
四、清空历史报告
如何清除历史报告?可能有的同学会说,我直接手动删除,当前脚本目录下生成的allure目录就好了呀。
哈哈,咱们能不能不这么野蛮?
下面我们来举例说明,示例代码如下:
# -*- coding: utf-8 -*-
# @Time : 2020/12/13 15:34
# @Author : longrong.lang
# @FileName: test_clean.py
# @Software: PyCharm
# @Cnblogs :https://www.cnblogs.com/longronglang
def test_1():
print("test_1 文件的测试用例1")
def test_2():
print("test_1 文件的测试用例2")
使用命令行执行
pytest test_clean.py --alluredir=./allure
测试报告如下显示
对刚才的示例代码修改如下:
# -*- coding: utf-8 -*-
# @Time : 2020/12/13 15:34
# @Author : longrong.lang
# @FileName: test_clean.py
# @Software: PyCharm
# @Cnblogs :https://www.cnblogs.com/longronglang
def test_111():
print("test_111 文件的测试用例1")
def test_222():
print("test_222 文件的测试用例2")
执行完后,测试报告如下显示:
细心的小伙伴会发现,包含历史两条,这TM居然是叠加呀,正常不应该只是显示我修改后的部分吗?那该怎么解决呢
五、clean-alluredir 参数
pytest 提供了 --clean-alluredir 参数可以清空 allure 报告生成的目录
使用如下命令:
# 先运行第一个
pytest test_clean.py --alluredir=./allure
# 再运行第二个,此时应该希望 allure 报告只有 test_2.py 的测试用例
pytest test_clean.py --alluredir=./allure --clean-alluredir