博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jmeter 中JSON Path Extractor高级用法
阅读量:6261 次
发布时间:2019-06-22

本文共 1134 字,大约阅读时间需要 3 分钟。

好久没玩jemter了,由于项目原因又重新拾起。在使用JSON Path Extractor(jmeter 4.0已经默认支持了,4.0以下要自行安装插件)时,可以进行条件过滤,不用再自行写shell。

 

假设JSON返回数据格式如下:

{  "Province": [    {      "Name": "Beijing",      "population": "10000"    },    {      "Name": "Shanghai",      "population": "800"    },    {      "Name": "Guangzhou",      "population": "900"    }  ],  "property": "biggest",  "state": "China"}

1、简单的匹配就不说了,网上一大把。

2、匹配所有省份名字:$..Name

    将会得到一个省份名的数组,Name=["Beijing","Shanghai","Guangzhou"]

     这时可以jmeter对应的变量来获取值,如${Name_1}、${Name_matchNr}=3

     Json Path高级用法:$..Name[0],可以将第一个省份提取出来

     还有一个功能:Compute concatenation var,是匹配所有,默认是没有勾选,如果要使用,需要勾选。并用,号做分隔符,并且匹配的变量名为xxx_ALL

                             该功能需要将Match No.中写成-1,匹配所有结合使用。

3、Json条件选择

    Json Path的条件过滤使用以下的表达式

      ?()  ----表示条件过滤函数

      @过滤什么

   举例:

     $..[?(@.Name=='Beijing')] ----将省份名为北京的所有数据过滤出来了

     $.Province[?(@.Name="Beijing")].population   ----将省份名为北京的人口过滤出来了

     还支持*号:

      $.Province[*].population  ---将所有人口过滤出来

     $.Province[@.length-1].population    ---将最后一条数据的人口过滤出来

     $.Province[:-2].population  ----将前面二条数据人口过滤出来

     

4、多参数

    直接举例吧

    $.[property,state]

     将会得到两个值的数组["biggest","china"]

     可以再用jmeter对应的函数xxx_1,xxx_2,xxx_matchNr来得到对应值 ,方法同2 

转载于:https://www.cnblogs.com/landhu/p/8805568.html

你可能感兴趣的文章
这是一份优美的信息图,吴恩达点赞的deeplearning.ai课程总结
查看>>
去中心化并不是比特币的关键和核心,真的有用才是
查看>>
0629 - 基本完成 iPaste 的 Pin 管理
查看>>
经典:头像与昵称描述的位置组合
查看>>
【CSS模块化之路2】webpack中的Local Scope
查看>>
浙江移动容器云基于 Dragonfly 的统一文件分发平台生产实践
查看>>
「每日一瞥
查看>>
java 线程池
查看>>
排序算法总结
查看>>
python模块学习(二)
查看>>
近期的爬虫工作杂谈
查看>>
机器学习之 k 近邻
查看>>
canvas核心技术-如何绘制图形
查看>>
netty源码分析之pipeline(二)
查看>>
面试:讲讲 Android 的事件分发机制
查看>>
计算机程序的思维逻辑 (95) - Java 8的日期和时间API
查看>>
计算机程序的思维逻辑 (8) - char的真正含义
查看>>
2019 年技术大趋势预测
查看>>
推荐一款基于vue的滚动条插件vuescroll
查看>>
安全圈有多大?也许就这么大!
查看>>