jmeter 的 N 种正则表达式实现方式

14 篇文章 1 订阅
8 篇文章 2 订阅

一、什么是正则表达式?

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

给定一个正则表达式和另一个字符串,我们可以达到如下的目的:

  1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
  2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

正则表达式的特点是:

  1. 灵活性、逻辑性和功能性非常的强;
  2. 可以迅速地用极简单的方式达到字符串的复杂控制。

二、jmeter 正则表达式和 loadrunner 关联的区别

image.png

 

三、正则表达式的实现方式

方式一:正则表达式:"token":"(.+?)",模板:$1$,

举例:

  1. 需要关联的内容:

"token":"3+PvDnJ3vZVsjVu5bigS3tb3Uuhbg/Iq0/9PN/Yr5pqGe8MnHje1laBKSidx6+p8xRU/jxaEwo/fQbjJJq9BrA=="

  1. 根据正则表达式的步骤,找到响应数据 token 数据

左边界值:"token":"

右边界值:"

  1. 在登录请求的后面添加正则表达式

image.png

正则表达式:"token":"(.+?)"

模板:$1$

匹配数字:1

image.png

备注:

  • 一个符合要求的正则表达式:"token": "(.+?)“,

  • ():封装了待返回的匹配字符串。

  • .:匹配任何字符串。

  • +:一次或多次。

  • ?:不要太贪婪,在找到第一个匹配项后停止

  1. debug sampler 调试

添加 debug sampler

image.png

 

在查看结果树里面,查看有没有获取到变量值

image.png

 

方式二:正则表达式:"token":"(.)",模板:$1$

举例:

1.需要关联的内容

"token":"3+PvDnJ3vZVsjVu5bigS3tb3Uuhbg/Iq0/9PN/Yr5pqGe8MnHje1laBKSidx6+p8xRU/jxaEwo/fQbjJJq9BrA=="

2.根据需要提取的内容的长度,进行匹配

正则表达式:"token":"(.{1,88})"

模板:$1$,

匹配数字:1

image.png

适合长度固定的返回值

进行调试输出:

image.png

 

方式三:正则表达式:“phone”:“(\d)或者“phone”:“(\d.+?)

举例:

1.需要关联的内容:"mobile":"15900000001",

2.需要关联的值都是数字

image.png

 

进行调试:

image.png

 

备注:

\d:数字字符匹配,等效于 [0-9]

方式四:JSON Extractor

接口响应结果,通常为 HTML、JSON 格式的数据,对于 HTML 的响应结果的提取,可以通过正则表达式,也可以通过 XPath 来提取。

image.png

 

1.需要下载插件,下载地址为:https://jmeter-plugins.org/downloads/old/,下载后解压以后将 lib 和

lib/ext 中的 jar 包放到安装目录对应位置,重启即可。

2.需要下载 Extras With Libs Set 这个插件集,目前最新 JMeterPlugins-ExtrasLibs-1.4.0.zip

image.png

 

3.在请求下面添加—> 后置处理器—>jp@gc - JSON Path Extractor 或 JSON Extractor 来获取变量值

image.png

 

  • Variable names : 变量名称
  • JSONPath Expression:JSON 表达式
  • Match Numbers:匹配哪个,可为空即默认第

一个

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

image.png

 

提取的值原始格式是:

image.png

 

调试输出:

image.png

 

如上四种就是比较常用的 jmeter 提取响应结果的返回值,很简单吧!

本文由柠檬班库里老师原创,转载需注明出处!

想了解更多咨询的同学扫描下方二维码,可以加Q群领取学习资料:753665853  备注:CSDN  

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值