pytest(01)allure 报告用例名称paramtrize控制

本文探讨了在pytest中使用parametrize进行参数化测试时如何优化用例名称,以解决参数过长导致的显示问题。通过parametrize的ids属性和allure.title装饰器,实现了动态控制测试用例的名称,从而达到美化报告的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、使用paramtrize传参优点
减少代码编写量,提高测试用例的编写效率,但若paramtrize传参的参数过长时会影响用例名称显示:
在这里插入图片描述
这样使得测试用例名称不够美观,那么如何使用paramtrize传参使得用例名称美观而数据又能在测试函数内部使用将至关重要。
源码实现:

import pytest
import allure

testdata = [{
   'CaseId': 33, 'url': '/saas-api/stock/out-ticket/save', 'CaseName': '保存p1', 'yapi_id': 1471, 'req_query': '{}',
            'req_body': '{"operator":@{employee_id.0},"in_out_time":"${now_time}",\n "parts_items":@{data_list.0}}', 'saveKey': None,
            'jsonDone': '["message"]', 'expect': '["操作成功"]', 'sheetName': '首页-采购单'},
            {
   'CaseId': 33, 'url': '/saas-api/stock/out-ticket/save', 'CaseName': '保存p1', 'yapi_id': 1471,
             'req_query': '{}'
### PytestAllure 配置测试用优先级的方法及实现 在 pytestAllure 的组合中,可以通过 `@pytest.mark` 装饰器来标注测试用的优先级,并利用命令行参数控制运行特定优先级的测试用。 #### 使用装饰器标记测试用优先级 Allure 定义了五个严重级别:Blocker、Critical、Normal、Minor 和 Trivial[^4]。这些级别可以用来描述测试用的重要性或影响程度。以下是具体的实现方法: ```python import pytest @pytest.mark.severity(severity_level=allure.severity_level.BLOCKER) def test_blocker_case(): assert True, "This is a blocker case" @pytest.mark.severity(severity_level=allure.severity_level.CRITICAL) def test_critical_case(): assert True, "This is a critical case" @pytest.mark.severity(severity_level=allure.severity_level.NORMAL) def test_normal_case(): assert True, "This is a normal case" @pytest.mark.severity(severity_level=allure.severity_level.MINOR) def test_minor_case(): assert True, "This is a minor case" @pytest.mark.severity(severity_level=allure.severity_level.TRIVIAL) def test_trivial_case(): assert True, "This is a trivial case" ``` 上述代码展示了如何使用 `@pytest.mark.severity` 来标记不同优先级的测试用[^2]。 #### 运行指定优先级的测试用 为了仅运行某些优先级的测试用,可以在 pytest 命令中加入 `--allure-severities` 参数如,如果只想运行 Blocker 和 Critical 级别的测试用,则可以执行以下命令: ```bash pytest -s test_severity.py --allure-severities=blocker,critical ``` 此命令会筛选并运行被标记为 Blocker 或 Critical 的测试用[^3]。 #### 查看生成的 Allure 报告 完成测试后,可通过以下命令生成 Allure 报告,并查看哪些测试用被执行以及它们对应的优先级: ```bash allure generate ./report/allure -o ./report/html --clean allure open ./report/html ``` 这一步骤允许开发者直观地分析测试结果及其优先级分布情况[^1]。 --- ### 总结 通过以上方法,在 pytest 中结合 Allure 可以方便地标记和管理测试用的优先级。这种做法不仅提高了测试效率,还使得团队能够更清晰地理解各个功能模块的重要性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值