接口测试 jmeter 接口自动化连载 (8)- JsonPath 表达式提取响应

小七的自动化课堂 · 2020年04月23日 · 最后由 korosaiki 回复于 2020年04月23日 · 1582 次阅读

 我们在用 jmeter 做接口测试的时候,有的时候会遇到一些复杂的 json 响应。比如多层 list 嵌套时的取值
Jmeter 接口自动化交流扣扣群:704807680

一个简单的例子:

$..Name:列出所有省份

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

Jmeter 接口自动化交流扣扣群:704807680
$..[?(@.Name=='Beijing')] 筛选出省份名为 Beijing 的所有 list 数据

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

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

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


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

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

Jmeter 接口自动化交流扣扣群:704807680

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 2 条回复 时间 点赞
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册