pytest-xdist:并发执行用例设计(脱坑)

本文主要是讲下up通过并发执行用例时候遇到的坑吧
一、pytest在并发执行用例下,用例的作用域会失效,因为xdist采用的是进程级处理用例,每条用例都是完全隔离的,所以在设计并行用例的时候,必须要保证每条用例完全独立,互不影响,包括用例执行顺序、依赖等都会失效,但是如果想实现所有用例都只执行一次,可以采用官方给的方案
在这里插入图片描述如果有多个前置或后置需要用到临时目录的话,也可以分开写,利用多个临时文件来达成一次性的作用域
在这里插入图片描述二、如果想实现执行用例前清楚allure的所有报告及执行完所有用例后利用命令生成allure报告,使用官方提供的这个办法也能实现,但是会有很多问题(例如报告生成不完整或者部分用例的attach没有存到报告中,因为可能在前置中提前被删掉了),相当于这种情况的作用域需要更广,必须在最开始和最末尾执行一次,所以可以使用钩子函数(我这里使用的是pytest_configure、pytest_unconfigure来达成的前置和后置)
在这里插入图片描述在钩子函数中,必须要判断进入当前函数的进程,防止worker进入到函数中,因为master是不执行用例的,不用干苦力,所以只要master进入到函数中,就代表是最开始或者所有worker完成任务之后了,就能达到我们想要的目的
暂时遇到的就在这两个棘手的问题,希望能给小白们一些解决的思路

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值