Jmeter模块详解(5)后置处理器

目录

JSON提取器(JSON Extractor)

边界提取器(Boundary Extractor)

正则表达式提取器(Regular Expression Extractor)


 

*本文部分图片来自网络

 

后置处理器在取样器之后执行,后续操作的子件集合,对请求响应做一些处理,或者抓取响应数据,提取变量方便后续调用或断言等

 

JSON提取器(JSON Extractor)

 

如图要抓取接口的两个返回json值:

 

配置如下:

 

·  variable names:变量名称,提取到的值存放在该变量中,后续通过该变量即可引用提取到的数据,多个变量名通过分号(;)隔开

·  json path expressions:格式为 $.XX.XX.XX$.必须要的,若有很多层级,用英文句号.隔开,多个路径通过分号(;)隔开,若为空即默认取第一个数据

·  Match No.:取第几个值,0为随机,-1为全部即取数组

·  Default Value:未取到值的时候默认值

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


引用变量:


引用格式为:${变量名},加入下标可取指定行数的值,比如取第一行的值${变量名_1}

提取复杂结构的json数据:

分析这段json:

如果我要获取data{}里的orderNo怎么写呢:首先分析json提取格式是【$.】后面跟参数,OrderNo 是包在data里,data 被包在result里,所以我们一层一层的定位:$.result.data[0].orderNo

->为什么要加[0]?

首先data 下面不止一段json,可能有很多,我们现在定位的是第一段,它是数组,所以取第一个下标就是[0],如果取第二个下标就是[1]以此类推。

场景2:

 

# 提取所有,使用 * , -1 代表全部

引用时,使用 ${hello_1}即可

 

边界提取器(Boundary Extractor)

 

 

如图要抓取接口的返回值:

 

配置如下:

 

·  引用名称:变量名称,提取到的值存放在该变量中,后续通过该变量即可引用提取到的数据

·  左边界:严格填写所取值的左边界字符

·  右边界:严格填写所取值的右边界字符

·  Match No.:取第几个值,0为随机,-1为全部即取数组

 

引用变量:

 

引用格式为:${变量名},加入下标可取指定行数的值,比如取第一行的值${变量名_1}

 

正则表达式提取器(Regular Expression Extractor)

如下需要获取登录返回头部的token:

提取器如下配置:

Match No.:取第几个值,0为随机,-1为全部即取数组

表达式中,(.*?)为锁定要提取的值的位置,cookie_token=相当于左边界,;相当于右边界。

如下获取到token值并赋给gettoken参数:

 

引用格式为${参数名},加入下标可取指定行数的值,比如取第一行的值${变量名_1},参考跨线程全局变量__setProperty()目录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值