httprunner3-增加Setp执行时跳过用例(extract()提取变量不等于预期结果时)

背景:由于httprunner3只能用pytest的skip方法跳过所执行的用例,不能针对执行用例中动态去跳过用例,所以稍微对httprunner3加个跳过的小功能(查过httprunner2 是有skip关键字的,不知道为啥3就去掉了)

实际使用场景:比如我提取某特殊条件下的uid去查看个人信息,但这种特殊条件的数据不是必须存在的,如果不存在就不执行用例;

从用例执行的流程上讲:
Step关联参数时,如果用extract()提取的参数等于None或者不等于预期结果,则后续使用参数的step肯定是会执行失败

可以利用断言结果的方法去稍微处理就能实现:
validate(),用于请求结果的校验,会返回这个类StepRequestValidation
在这里插入图片描述
这类下面就是用于断言的各种方法:
在这里插入图片描述
就在这个类下新增skip的方法:value=提取的变量 expected_value=预期失败值,message=skip_跳过的原因
这里断言用not_equal,如果value不等于expected_value,则断言pass,这里只是利用断言进行参数传递

在这里插入图片描述

根据用例执行的流程,request请求后会走到响应结果断言
resp_obj.validate(
validators, variables_mapping, self.__project_meta.functions
)
在这里插入图片描述
在validate方法处理时新增跳过的判断逻辑:
在这里插入图片描述

Step中的使用参考:
这里提取的uid故意写错,提取结果是None,断言是不等于才通过,所以断言失败,并走到skip判断在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值