在自动化测试的日常工作中,是否遇到过这些尴尬瞬间:
pytest,默认的报告也只是文件名的堆砌。老板和开发想看某个模块的通过率,得对着文件名猜半天。如果你也有这些烦恼,那么 Allure装饰器 就是“杀手锏”。
今天,我整理了一套Allure 报告精细化治理
Allure 最强大的地方在于它深度集成了 BDD(行为驱动开发)的概念。通过这三个装饰器,可以将数千条用例构建成一个清晰的“金字塔结构”:
并不是所有的用例失败都具有同等的杀伤力。利用 @allure.severity,可以给不同的测试点设定权重,从而在 CI 失败时快速决定处理顺序:
在 Allure 报告界面,可以一键过滤出 BLOCKER 级别的用例
除了结构化分层,Allure 还提供了极其丰富的辅助标记
test_login_001 这种代码命名了!通过这个装饰器,直接写中文:“#1 验证会员在登录状态下正常支付”。with allure.step("步骤1"): 包裹逻辑。这样在报告里,原本几百行的代码会被折叠成一个个清晰的操作步骤,非常利于问题定位。以下是代码示例:
import allure
import pytest
# ---------------------- 全局标签层级:Epic > Feature > Story ----------------------
@allure.epic("epic 相当于总体描述")
@allure.feature("测试模块")
classTestAllureALL:
@allure.story("story one")
@allure.title("#1 用例的标题") # 用例标题
@allure.severity(allure.severity_level.CRITICAL) # 优先级 critical
@allure.description("这是用例描述") # 用例描述
@allure.link("https://www.baidu.com", name="Bug链接,点我一下")
@allure.link("https://www.baidu.com", name="测试用例,点我一下")
deftest_case_1(self):
"""带分步测试步骤"""
with allure.step("步骤1"):
pass
with allure.step("步骤2"):
pass
@allure.story("story two")
@allure.title("#1 test_case_2")
deftest_case_2(self):
pass

#pytest #软件测试