jmeter接口测试-16JsonPath表达式提取响应

我们在用jmeter做接口测试的时候,有的时候会遇到一些复杂的json响应。比如多层list嵌套时的取值

一个简单的例子:

image

$..Name:列出所有省份

image

$..Province[0].Name 提取Province中第一个list中的Name

image

$..[?(@.Name=='Beijing')] 筛选出省份名为Beijing的所有list数据

image

 $.Province[:2].population 筛选前两条数据

image

注意:

.Province[2].population 是排除前两条数据;$.Province[-2].population是排除后两条数据,千万别弄混了哦~

下面列举一个复杂的例子:

image

这是一个多层嵌套的jsonlist,需要提取所有cabinInfos列表下,patFlag=Y时的cabin,standardPrice和finallyPrice。是不是听起来就很复杂?如果按照传统的正则表达式提取,那么 很难满足这里的需求了。因此就需要用到jsonpath表达式。

$..[?(@.patFlag=="Y")].["cabin","standardPrice","finallyPrice"]

image

提供mock接口,jmeter直接访问即可: https://easy-mock.com/mock/5b88b27476b79510db917603/example/query1

关于jsonpath的其它用法,有待各位继续取研究~


参考链接
https://www.cnblogs.com/Zfc-Cjk/p/9568438.html

你可能感兴趣的:(jmeter接口测试-16JsonPath表达式提取响应)