性能测试学习之路(七)—Jmeter之后置处理器详解

后置处理器用来获取响应信息中的某些数据供后面的请求使用。一般常用的就是JSON提取器和正则表达式提取器。一般置于相应的HTTP请求下。

在这里插入图片描述

JSON提取器

如果响应信息为JSON格式那么我们一般使用JSON提取器。JSON提取器结构如下:
在这里插入图片描述
Apply to:作用范围(返回内容的取值范围)
Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器
Main sample only:仅作用于父节点的取样器(选默认的 main sample only 就行了
Sub-samples only:仅作用于子节点的取样器
JMeter Variable Name to use:作用于JMeter变量(输入框内可输入JMeter的变量名称),从指定变量中提取需要的值
Variable names:保存的变量名,后面使用**${Variable names}**引用
JSON Path expressions:上一步中调试通过的json path表达式
Match Numbers:匹配数字(0代表随机,1代表第一个,-1代表所有)
Default Values:找不到时默认值,一般设置为NOT FOUND
Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”,使用场景需要获取的值有多个,后面需要对这一组数据进行操作

如何进行调试看自己的表达式写的对不对呢?我们可以添加一个Debug Sampler,通过查看结果数来看自己取数对不对。

在这里插入图片描述
分享两个很实用的网站:
JSON表达式可视化生成(可以快速生成自己需要的Json表达式):https://www.qianbo.com.cn/Tool/Json
JSON在线视图查看(可以帮助你理解Json表达式为什么这么写):https://www.bejson.com/jsonviewernew

正则表达式提取器

如果响应信息为HTML格式那么我们一般使用正则表达式提取器。正则表达式提取器结构如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c0d4d7cdeb70439d8eba78c3885500cb.png
Apply to:作用范围(返回内容的取值范围)
Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器
Main sample only:仅作用于父节点的取样器(选默认的 main sample only 就行了
Sub-samples only:仅作用于子节点的取样器
JMeter Variable Name to use:作用于JMeter变量(输入框内可输入JMeter的变量名称),从指定变量中提取需要的值
要检查的响应字段:从响应信息哪部分取值
引用名称:保存的变量名,后面使用**${引用名称}**引用
正则表达式:上一步中调试通过的正则表达式
模版
匹配数字:匹配数字(0代表随机,1代表第一个,-1代表所有)
缺省值:找不到时默认值,勾选使用空默认值则不能编辑缺省值

如何进行调试看自己的表达式写的对不对呢?我们可以添加一个Debug Sampler,通过查看结果数来看自己取数对不对。

在这里插入图片描述
一般来说正则表达式我们可以用xxx(.*?)xxx,括号内为所要提取的信息,括号前后是所提取信息的前后内容。具体的正则表达式使用我们可以看菜鸟教程中https://www.runoob.com/regexp/regexp-syntax.html进行学习。

后置处理器在实际应用中非常有用,尤其是一些参数化,比如获取登录后返回的token,又或者或者返回的pageid。通过后置处理器获取到这些参数来供后面请求使用。
  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值