httprunner中使用JMESPath进行数据提取技巧

在使用httprunner时, 其进行数据提取是使用JMESPath进行的, httprunner示例中的提取未涉及一些稍复杂的提取, 所以专门学习了一下JMESPath的使用, 做个总结, JMESPath 官方文档路径:https://jmespath.org/specification.html#functions

本人要提取的数据是一个list, 然后成员是字典, 结构是:

[
  {
    "name": "晚班",
    "createdBy": "admin",
    "createdTime": 1656500919000,
    "endTime": "06:00",
    "id": "c409587b32b04301bdee69312aa5743f",
    "revision": 0,
    "startTime": "21:00"
  },
  ...
  ...
]

下面提取方法:

  1. 提取符合条件name="晚班"的数据, 作为一个列表, 赋值给参数data_list
...
.extract()
.with_jmespath("body.data[?shift=='晚班']", "data_list")
....
  1. 提取符合条件name="晚班"的数据的第一个成员的startTime, 赋值给参数start_time, 注意表达式里面的空格使用
 ...
.extract()
.with_jmespath("body.data[?shift=='晚班'] | [0] .startTime", "start_time")
....
  1. 也可以传将shift在外赋值, 然后传参进表达式进行调用:
shift_name = '晚班'
 ...
.extract()
.with_jmespath("body.data[?shift=='$shift_name'] | [0] .startTime", "start_time")
....

延伸应用:
类似的, 由于httprunner的asset也是用的JMESPath, 故可以应用在assert断言中, 进行期望值判断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值