九、Jmeter 关联-Json 提取器

JSON提取器是最常用的一种用于关联的元器件,提取完参数后,相当于把参数以key-value的形式放到参数池,以便后面的请求使用。
注意:不能超前引用,即在定义前就进行参数化
简单JsonPath提取实战
自己mock一个简单的接口数据如下

{
"province": [
{
"id": 110000,
"name": "北京市"
}, {
"id": 120000,
"name": "天津市"
}, {
"id": 130000,
"name": "河北省"
}
]
}

 

获取所有省份名称:
$.province[*].name或$..name

获取province第二个对象的name:
$.province[1].name

获取名为河北省的对象数据:
$.province[?(@.name=='河北省')]

取前2条数据的name:
$.province[:2].name

注意:

  • - $.province[:2].name: 筛选出前两条数据
  • - $.province[2].name :取第三条数据
  • - $.province[-2].name: 取倒数第三条数据

复杂JsonPath提取实战
下面是一个比较复杂的json数据

这是一个多层嵌套的json数据,现在要提取所有东方航空下的,cabinInfos列表下的patFlag=Y时的cabin,standardPrice和finallyPrice,听起来是不是很复杂?
jsonPath表达式就可以完成一个如此复杂的提取
`$.responseData[?(@.airlineName=='东方航空')].cabinInfos[?(@.patFlag=='Y')].["cabin","standardPrice","finallyPrice"]`

这次的案例接口数据是我用Flask框架自己mock出来的

 

posted @ 2020-01-18 21:42  测试充电宝  阅读(220)  评论(0)    收藏  举报