Pytest 使用nodeid运行测试用例

Pytest 使用nodeid运行测试用例

背景

近期在做API接口自动化平台,平台的主要功能是创建自动化任务、查看报告、查看运行失败用例及一些针对不同类型任务的搜索功能。
最近想增加一个失败用例重跑的功能。虽然pytest有针对失败重跑的插件(pytest-rerunfailures),但是插件是集成在pytest的每次任务运行过程中进行的。比如一共跑10个case,第1个case失败后,如果设置了“–reruns”参数,则紧接着就会重新跑这个失败的case。
而我设想的功能是在整个pytest任务执行结束后,再重新批量运行这些失败的cases。大概就是当前任务行,有一个[重跑]按钮,点击这个按钮就可以新建一个任务。

步骤
1. 收集失败case nodeid

想要完成这个目标,做的第一步工作就是收集每次运行失败的case,这个相对简单,使用pytest提供的hook函数即可实现。这里我使用了def pytest_runtest_logreport(report): 实现。
收集到的case nodeid类似这样:
xxx/tests/test_all/test_homepage.py::TestHomePageAPI::test_homepage_api[SA-1-10-200-A_AR]
关于nodeid的描述,pytest的官方文档给出了大概的解释:

Each collected test is assigned a unique nodeid which consist o

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值