zoukankan      html  css  js  c++  java
  • Jmeter 中JSON Path Extractor高级用法

    好久没玩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 

  • 相关阅读:
    android中的webview白屏问题
    7-24分享
    Excel----考勤表制作自动更新日期
    (二十五)微信小程序的登陆 实际逻辑
    微信退款流程
    (二十八)加锁
    (二十七)竞价
    (二十六)拍卖专场相关的接口
    (二十六)微信小程序支付流程
    (二十四)微信小程序支付
  • 原文地址:https://www.cnblogs.com/landhu/p/8805568.html
Copyright © 2011-2022 走看看