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 

  • 相关阅读:
    加密算法
    git 误操作
    element项目发布
    node命令
    计划
    第一次碰见类似留几手的段子手
    【vue】---猫眼项目中使用js组件的时候-------loading 加载 无法移除的原因---------
    【异步】---异步解决方案---
    【问题-方法】---buffer---解决方法,butter 文件转字符串
    【大脑】--如何让大脑快速记忆
  • 原文地址:https://www.cnblogs.com/landhu/p/8805568.html
Copyright © 2011-2022 走看看