jmeter (四):后置处理器 Json extractor

在用jmeter 提取请求返回的值,除了用到前面提到的正则表达式提取,我们还可以用到后置处理器 Json extractor 。

当json数据返回值为{"firstName": "Jiezai"},正则表达式为"firstName": "(.+?)",如果:(冒号左右边有空格时),其实也是json数据,然后正则表达式也需要跟着加,但是不管冒号左右边有没有空格,JSON Path Extractor表达式都为$..firstName

练习准备:

1.搜索安装插件 :JSON Extractor ,Dummy Sampler

2.使用Dummy Sampler 模拟数据

jmeter (四):后置处理器 Json extractor

第一步:添加请求返回的JSON值,便于模拟 

jmeter (四):后置处理器 Json extractor

第二步:选中上面的Samper ,添加 JSON Extractor

jmeter (四):后置处理器 Json extractor

第三步:在JSON Extractor 中填写表达式值

jmeter (四):后置处理器 Json extractor

第四步:查看运行结果

jmeter (四):后置处理器 Json extractor

对应的json 数据如下:

{"status":"110000","msg":"OK","data":[{"corpId":"1","id":"2299","baseResourceId":null,"isBaseUpdate":0,"title":"导游管理","titleLang":"{\"zh-TW\":\"導遊管理\",\"zh-CN\":\"导游管理\"}","parentId":"212","resourcePath":"[212,2299]","type":1,"path":"/guide","icon":null,"url":null,"apiUrl":null,"apiUrlParam":null,"resourceJson":null,"isHidden":0,"remark":null,"langCode":null,"bySort":9,"viewField":null,"viewCondition":null,"viewOrderBy":null,"viewStatisticsType":0,"viewStatistics":null,"viewPermissionType":null,"isComUpdate":null,"createBy":"0","createByName":null,"createTime":"2019-12-03T17:05:39.003+0000","updateBy":"0","updateByName":null,"updateTime":"2018-11-03T17:05:39.003+0000","isDel":0,"displayDataRange":null,"manageDataRange":null,"children":null,"roleIds":null,"employeeId":null,"employeeIds":null},{"corpId":"1","id":"2269","baseResourceId":null,"isBaseUpdate":0,"title":"购物店列表","titleLang":"{\"en-US\":\"shopping list\",\"zh-TW\":\"購物店列表\",\"fr-FR\":\"liste d'achats\",\"zh-CN\":\"购物店列表\"}","parentId":"212","resourcePath":"[212,2268,2269]","type":1,"path":"/list","icon":null,"url":null,"apiUrl":null,"apiUrlParam":null,"resourceJson":null,"isHidden":1,"remark":null,"langCode":null,"bySort":0,"viewField":null,"viewCondition":null,"viewOrderBy":null,"viewStatisticsType":0,"viewStatistics":null,"viewPermissionType":null,"isComUpdate":null,"createBy":"0","createByName":null,"createTime":"2018-11-03T17:04:45.531+0000","updateBy":"0","updateByName":null,"updateTime":"2018-11-03T17:04:45.531+0000","isDel":0,"displayDataRange":null,"manageDataRange":null,"children":null,"roleIds":null,"employeeId":null,"employeeIds":null}]}

变量 目标 表达式 提取的值
viewIds 提取第1条记录的id $.data[0].id viewIds=2299
viewParentId 提取第1条记录的parentId $.data[0].parentId viewParentId=212
resourceId 提取title 等于导游管理的id  $..data[?(@.title=="导游管理")].id resourceId=["2299"]
resourceId_1=2299
createTime 提取创建时间大于2019-11-03 的记录 $..data[?(@.createTime>"2019-11-03")].createTime createTime=["2019-12-03T17:05:39.003+0000"]
createTime_1=2019-12-03T17:05:39.003+0000

在线json 解析器操作:

 jmeter (四):后置处理器 Json extractor

 

【补充】:后面发现  后置处理器中的 JSON Extractor 可以直接处理,

路径如下图:

jmeter (四):后置处理器 Json extractor

jmeter (四):后置处理器 Json extractor 

在线json 解析器地址 :

http://jsonpath.com/

jsonpath 学习手册:

https://goessner.net/articles/JsonPath/

其它参考文章:

https://blog.****.net/huazhongkejidaxuezpp/article/details/84728342