jmeter使用正则提取器--把上一个请求结果作为下一个请求的参数

本文介绍如何使用JMeter进行接口测试,重点讲解如何通过正则表达式提取器获取ACCESS-TOKEN,并将其应用于后续HTTP请求的Header中,实现依赖数据传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运用场景:接口2需要用到接口1返回的值

 

已知接口1返回部分结果如下:

{"code":0,"message":null,"result":{"create_time":1524345278173,"ACCESS-TOKEN":"BAdDfNnnhzbvnGqRJbnnTCegvzUOxVBz","expired_in":1800}}

后续接口的请求header会用到接口1中的access-token的值

操作步骤:

1、测试计划中添加线程组,线程组下添加Sampler-Http请求

接口1返回的结果:

2、在步骤1的http请求下右键添加-后置处理器-正则表达式提取器(提取器一定需要在提取的请求下

3、进入到如下页面,页面设置如下

 

其中

引用名称:后边使用参数引用的方式引用这个提取器提取到的值,这里命名为token,使用时写${token}

正则表达式:使用(.+?)进行匹配提取,两边是要提取内容的边界;如{"code":0,"message":null,"result":{"create_time":1524345278173,"ACCESS-TOKEN":"BAdDfNnnhzbvnGqRJbnnTCegvzUOxVBz","expired_in":1800}},要提取access-token的值,也就是红色部分,表达式可写成"ACCESS-TOKEN":"(.+?)","expired_in" 

【备注:试了下 "ACCESS-TOKEN":"(.+?)"也能成功】

模板:使用提取到的第几个值(表示使用上一行中的第几个正则表达式)。因为可能有多个值匹配,所以要使用模板。从 1 开始匹配,依次类推。这里填写 $1$  【测试的时候没填写,结果就没提取到】

匹配数字:表示如何取值。0 代表随机取值,1代表取第一个匹配成功的值,-1代表取所有匹配成功的值

缺省值:表示参数没有取到值的话,默认给它的值。

4、在线程组下添加http信息头管理器,ACCESS-TOken的值引用正则表达式提取的 ${token}

 参考资料

https://blog.youkuaiyun.com/defonds/article/details/41476727

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值