jmeter中正则提取元件的使用总结

正则提取器的一般使用场景是, 在我第二个请求参数中需要加入第一个请求的返回值, 此时通过正则提取器可以提取第一个请求返回值中指定的字段信息并赋值, 在第二个请求参数中直接引用该变量即可

jmeter的正则提取器截图如下:
这里写图片描述
简单介绍下其中几个比较重要的字段的信息, 如下表

参数释义
引用名称在HTTP等请求中,引用此数据,需要用到的名称
正则表达式用于将需要的数据提取出来, 一般简单的通用语法就是:
左边界(.*?)右边界, 其中(.*?) 是替换了想要提取的内容,里面的'?'为非贪婪匹配
模板表示正则表达式中的第几个提取值:
$负数$:表示取所有值
$0$:表示随机取值
$1$:表示取第1个
$2$:表示取第二个
$1$$2$: 表示第一个和第二个拼接起来
以此类推:$n$:表示取第n个
例如"token":"(.*?)","sex":(.*?),"userName", $1$表示前一个匹配值, $2$表示第二个匹配值 ,如果只有一个正则表达式提取值, 直接使用$1$匹配即可
匹配数字(0代表随机)返回匹配结果数组的某个元素, 0代表随机取值,1代表第一个值, 负数表示返回全部元素
缺省值默认值, 即没有匹配到值时的默认值

接下来看下实际的使用,
如图所示, 取登录后返回的ticket值, 此时因为方便说明, 使用"(.*?)"来获取返回值中双引号之间的内容:
这里写图片描述
添加debug元件, 展示debug信息如下,
这里写图片描述
此时, ${ticket}表示取的是第一列的值, 第一列是由模板上的$1$确定的,
此时Match No设置为-1 ,表示会返回所有匹配值数组的元素, 可以看到返回有三个元素分别为${ticket_1},${ticket_2},${ticket_3} 此时, 若有多行数据, 且模板处设置的为$1$, 如果选择第一个数组元素, 则:
${ticket_1_g0}取的都是第一个匹配值的第一列全部的数据
${ticket_1_g1}取的是第一个匹配值的第一列第一行的数据,
${ticket_1_g2}取的是第一个匹配值的第一列第二行的数据,
* ${ticket_2_g1}取的是第二个匹配值的第一列第一行的数据,

再来看一个比较简单的正则, 如下, 只取匹配值中的第一个元素:
这里写图片描述
这里写图片描述
Match No设置为1 , 表示只会选择返回的匹配值数组当中的第一个元素, 直接使用${ticket}表示即可, 此时, 若有多行数据, 且模板处设置的为$1$, 则:
${ticket_g0}取的都是第一列全部的数据
${ticket_g1}取的是第一列第一行的数据,
${ticket_g2}取的是第一列第二行的数据,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值