jsonpath 提取参数

在做接口自动化时,会有需要上层接口返回的数据进行验证断言,下层接口使用,这是需要用来提取参数

按照普通方法直接去遍历返回结构  根据结构样式去遍历出需要的字段名,在取出字段名对应的参数,这个方式需要的书写的比较长,

下面介绍一款提取参数的方法 JsonPath

JsonPath 结果
$.store.book[*].author 获取json中store下book下的所有author值
$..author 获取所有json中所有author的值
$.store.* 所有的东西,书籍和自行车
$.store..price 获取json中store下所有price的值
$..book[2] 获取json中book数组的第3个值
$..book[-2] 倒数的第二本书
$..book[0,1] 前两本书
$..book[:2] 从索引0(包括)到索引2(排除)的所有图书
$..book[1:2] 从索引1(包括)到索引2(排除)的所有图书
$..book[-2:] 获取json中book数组的最后两个值
$..book[2:] 获取json中book数组的第3个到最后一个的区间值
$..book[?(@.isbn)] 获取json中book数组中包含isbn的所有值
$.store.book[?(@.price < 10)] 获取json中book数组中price<10的所有值
$..book[?(@.price <= $['expensive'])] 获取json中book数组中price<=expensive的所有值
$..book[?(@.author =~ /.*REES/i)] 获取json中book数组中的作者以REES结尾的所有值(REES不区分大小写)
$..* 逐层列出json中的所有值,层级由外到内
$..book.length() 获取json中book数组的长度

首先 pip  install jsonpath

安装成功后,在.py文件中 import导入jsonpath

这是一个demo,提取返回的json体中的level列表中第二个字典的中levelNum

 

这是运行后的打印出来的返回值,这样在其他地方就可以根据自身业务或者个人习惯进行赋值调用。

原文地址:https://www.cnblogs.com/Jaredhan/p/13678088.html