Jmeter之正则表达式提取器
前言
接口间的关联参数数据需要传递参数值。故可通过 正则表达式提取器 来处理。
下面我们一起来学习如何使用 正则表达式提取器 获取接口返回的值
正则表达式提取器的使用
案例:一个登录接口响应数据中的token值,在后续的接口(比如:创建用户)中需要用到。
- jmeter 登录后的响应数据:
{
"id":767,
"username":"xiaohei",
"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InhpYW9oZWkiLCJpZCI6NzY3LCJpYXQiOjE1OTIzNjQ3OTksImV4cCI6MTY3ODc2NDc5OX0.ObD1Qr4WPpF_AZW8AR0joSKTrYArKnPoq0Fbtrhsp44"
}
-
在察看结果树中选择RegExpTester(正则表达式测试器),输入提取值的正则表达式,点击Test(测试)即可查看数据是否可提取。
-
登录接口 右键添加 --> 选择后置处理器 --> 正则表达式提取器
-
正则表达式提取器填写的值
正则表达式取值: 由于取得token值在登录的响应数据中是以 “token”:" 开头,中间()填写的是正则表达式,以 " 结尾的。
正则表达式注释: 可写多个正则表达式,用逗号隔开
. 表示匹配任意单个字符
+ 表示匹配一个或者多个,不可以匹配空字符
* 表示匹配零个或者多个,可以匹配空字符
? 表示匹配0次或1次
模板解释:$1$ 表示取第一个正则表达式的值,多个正则时用$1$,$2$
匹配数字:0表示随机取值;1表示取值的第一个;2表示取值的第二个.....
缺省值:如果正则表达式没有匹配到值(正则表达式写错),则使用该默认值
- 在需要调用的接口请求中使用 ${变量名称} 调用正则提取器设置的变量名称 值