JMeter—正则表达式提取器

如果我们想将一个请求的结果,作为下一个请求的参数,这时就要用到JMeter的“正则表达式提取器”

比如:用户登录一个系统,获取一个登录凭证(在此文中也就是access_token的值),之后请求其他资源的时候需要带上这个值,系统才识别是合法的用户。

我们想获取下面这个json字符串中access_token的值,即f05199db-de84-42b0-96bd-ebca9296e23b。

{"meta":{"message":"成功","code":1},"data":{"access_token":"f05199db-de84-42b0-96bd-ebca9296e23b","token_type":"bearer","expires_in":37766,"scope":"read"}}

 

1.右键点击刚才的HTTP请求,添加—后置处理器—正则表达式提取器

2.正则表达式提取器界面的编辑

名称:可随意取一个

引用名称:是下个请求引用的变量名,注意需要一致

正则表达式:" access_token ":"(.*?)" 或 " access_token ":"([^"]*)且已验证正确,这里填第一个

 

模板:使用提取到的第几个值。因为可能有多个值匹配,所以要使用模板。从 1 开始匹配,依次类推。$1$代表只有一组数据,这里只有一个,所以填 $1$

匹配数字:表示如何取值。0 代表随机取值,1 代表全部取值。这里只有一个,填 1 即可

缺省值:表示参数没有取到值的话,默认给它的值。一般不填。此处随意填写个abc

3.添加下一个请求

新添加一个HTTP请求,右键点击—添加—Sampler—HTTP请求

点击下方的添加按钮,添加同请求一起发送的参数

名称access_token值为${access_token}

其余参数按需要进行填写

4. 右键点击,添加—监听器—查看结果树

5.准备工作完成后,点击绿色箭头按钮,启动运行

6.运行完成后,查看结果树

登录后得到access_token的值:

在下一个请求使用前面获取到的access_token的值:

验证通过

 

posted @ 2017-03-01 17:30  射手座的小怪兽  阅读(1093)  评论(0编辑  收藏  举报