Jmeter随笔:Jmeter之JSON Extractor

Jmeter后置处理器JSON Extractor

 

 

 

1、选择路径:对应的请求下 >  添加 > 后置处理器 > JSON Extractor

 

2、界面展示

 

各个字面意义:

1、Variable names: 自定义的参数名称,引用的时候用${}格式

2、JSON Path expressions: json表达式,根据表达式获取到对应的结果;提取式:$.+参数

3、Match Numbers:匹配数字(0代表随机,1代表第一个,-1代表所有)

4、Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值都保存,名为“变量名_ALL”,使用场景需要获取的值有多个,后面需要对这一组数据进行操作;

5、Default Values:找不到返的默认值,

 

 

提取相关例子:

{

    "msg":null,

    "rc":0,

    "data":

    {

        "pageSize":10,

        "pageNo":1,

        "records":18,

        "total":2,

        "resultList":

        [

            {

                "id":139,

                "realName":"测试144",

                "mobilePhone":"13141414141",

                "sex":"女",

                "age":10,

                "maritalStatus":"未婚",

                "identity":"513326200910276188",

                "contactType":60,

                "contactTypeName":"类别3",

                "companyId":12,

                "companyName":"华为1",

                "tag":"",

                "remark":"test备注",

                "createdAt":"2019-08-13 16:39:38",

                "bindUser":

                [

       

3、通过JSON Path Expression找到需要的json值

查看结果树中切换类型为JSON Path Tester

要获取对应的id值,在JSON Path Expression中输入表达是,并且点击Test得到对应的结果

 

json表达式写法:

获取其中第一个id值: $.data.resultList[0].id

分析

首先分析json提取格式是【$.】后面跟参数,id在resultList中,resultList在data中,但是在resultList中有多层,resultList是数组,取第一个下标就是[0],即json表达式是$.data.resultList[0].id。

 

 

 

 

 

 

二、提取多个参数:

 

 

1、Variable names: 自定义的参数名称;多个变量用多个自定义变量,用英文分号分开

2、JSON Path expressions: json表达式,根据表达式获取到对应的结果,多个的情况下用英文分号隔开

3、Match Numbers: 提取多个参数,同样用多个值,用英文分号隔开

4、Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值都保存,名为“变量名_ALL”,使用场景需要获取的值有多个,后面需要对这一组数据进行操作;

 

5、Default Values: 提取多个参数,同样用多个值,用英文分号隔开

 

 

使用场景:

新增客户管理后,要验证新增重复项系统处理,并且验证删除功能

即同时需要响应结果中的  用户id和身份证号

 

 

 

 

 

三、获取所有值

 

有时候需要取一个列表中的最大值,则可以使用Compute concatenation var(suffix_ALL)工具;生成的是以逗号隔开的

 

配置页面:

 

 

通过JSON Path Expression找到需要的json值

 

获取其最大值:

 

 

使用的时候,用${max_id}去使用

 

参考例子:

var base_versions=vars.get("cuntomer_id_2_ALL");

var version_list=base_versions.split(",");

var maxInNumbers = Math.max.apply(Math, version_list);

 

vars.put("max_id",maxInNumbers);

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值