Allure
集成Allure,你是如何集成Allure的
所以结论是?
-
安装allure与pytest的插件
-
在代码中通过allure装饰器添加测试用例元数据
-
启动pytest执行测试用例,通过--alluredir生成allure报告所需Json数据。
-
将该json数据通过allure generate生成为html报告
-
通过allure open打开allure报告。
可以在不生成html文件的同时,使用allure serve 打开html报告,但是该报告是临时的。
allure serve
allure serve是 Allure 测试报告框架提供的一个便捷命令,核心原理是读取测试结果数据,在内存中生成临时的 HTML 报告,启动本地 Web 服务器提供报告服务,并自动打开浏览器展示报告。
流程
-
安装allure与pytest的插件。
-
使用@allure装饰器添加元数据。
-
启动pytest,生成 Allure 报告所需的 JSON 格式数据。
- pytest.main(['case/test_process_inspection.py', '--alluredir', report_dir])
-
将 JSON 数据转换为可视化的 HTML 报告
- os.system(r"allure generate ./report/tmp -o ./report/html --clean")
-
打开allure报告
- os.system(r"allure open ./report/html -h 127.0.0.1 -p 9997")
注:os.system(f"allure serve ./report/tmp -h 127.0.0.1 -p 9997"),可以在不生成html报告的情况下打开可视化allure报告。但是无法持久化html报告,关闭窗口后无法复原;也不便于分享给他人或存档。
allure包含哪些装饰器
-
@allure.title 为测试用例设置自定义标题
-
@allure.description 为测试用例添加详细的描述信息,帮助理解测试用例的目的和预期行为。
-
@allure.severity 设置测试用例的严重程度。Allure 定义了 5 个严重级别,分别是
CRITICAL(关键)、BLOCKER(阻塞)、NORMAL(正常)、MINOR(次要)、TRIVIAL(轻微) -
@allure.tag 为测试用例添加标签,方便对测试用例进行分类和筛选。可以添加多个标签。
-
@allure.step 将代码块标记为测试步骤,在测试报告中显示详细的步骤信息。可以嵌套使用。
import allure def test_addition(): with allure.step("执行加法运算"): result = 1 + 2 with allure.step("验证结果"): assert result == 3 -
@allure.epic、@allure.feature、@allure.story
这三个装饰器用于对测试用例进行分层组织。
@allure.epic是最高层级,通常表示一个大型项目或系统;@allure.feature表示具体的功能模块;@allure.story表示功能模块下的用户故事。 -
@allure.link、@allure.issue、@allure.testcase
用于将测试用例与外部资源关联起来。
@allure.link可添加任意外部链接;@allure.issue用于关联缺陷管理系统中的问题;@allure.testcase用于关联测试用例管理系统中的用例。import allure @allure.link("https://example.com/requirements/req123", name="需求文档") @allure.issue("https://jira.example.com/browse/BUG-123", name="缺陷详情") @allure.testcase("https://testrail.example.com/index.php?/cases/view/123", name="测试用例详情") def test_feature(): pass
看一下效果
不写@allure.title 当提供了 ids 参数时,Allure 报告中的测试用例名称会是测试函数名加上 ids 列表中的对应元素。如果没有提供 ids 参数,Allure 报告中的测试用例名称会是测试函数名加上参数值的组合。



浙公网安备 33010602011771号