• Jmeter入门14 后置处理器JSON Extractor 提取json的多个值


    json串 []表示对象组成的数组,{}表示对象。

    对象里包含多个 "属性":属性值。属性值可以是值,或数组,或对象。

    JSON Extractor使用json path表达式匹配,可以一次取多个变量值。$表示响应的根对象。取子对象或对象的属性用.  取数组里的对象用[],数组索引从0开始。

     

    示例:

    1  找一个响应结果是json格式的,分析响应结果。

    比如下面的响应整个是个数组,其中有4个对象。因此取值用$[索引取0-3或*取所有].属性值

    如果响应类似{"属性":[{"sx":1},{},{}]},整个响应是个对象。取sx的值:$.属性[0].sx

     

    2 jmeter添加步骤1分析的请求,并在该请求上点右键添加post processors 》 JSON Extractor

      1 分号分隔多个参数名,json path表达式,匹配第几个,默认值   【分隔符必须是分号】

      2 所有的个数一定要匹配  【试过了除了matchno(有默认值0),其他三个任一个不匹配该请求都没在结果树显示】

    names of created variables :接收值的变量名

    json path: json path表达式

    match no:0随机;n取第几个匹配值;-1匹配所有,后续引用用 变量名_N 取第N个值。

    default values: 缺省值,匹配不到值的时候取该值

     

    3 新建一个http请求获取参数值

     

    4 添加结果树,运行,查看结果。

     

    5 修改json extractor 获取数组的所有值   $[*].属性。match no=3取第3个。

     

    6  match no=5,数组越界后,取default values

     

    7  修改json extractor  设置match no =-1 匹配所有值;并修改接收参数的http请求的参数为 ${varname_N}。N=1-4.

     

     

     

    8 修改json extractor, ${varname_N}的N越界之后取不到参数 【不会取json extractor里设定的默认值,因为N,P,F,D变量实际取到了值】

     

    官网: http://jmeter.apache.org/usermanual/component_reference.html#JSON_Extractor

     

    json path :https://goessner.net/articles/JsonPath/ 

     

    the end!

     

  • 相关阅读:
    VUE中全局变量的定义和使用
    Pull Request 工作流——更高效的管理代码
    仓储repository概念
    Mysql存储过程历史表备份
    OpenStack一键安装
    VMware虚拟机设置Win10固定ip
    C#_NPOI_Excel各种设置
    pycharm修改镜像
    C#模拟POST上传文件帮助类(支持https、http)
    Windows安装RabbitMQ
  • 原文地址:https://www.cnblogs.com/dinghanhua/p/9823305.html
Copyright © 2020-2023  润新知