如何在JMeter中传递Bearer Token至后续请求以完成移动端负载测试?
解决JMeter中传递Bearer Token完成授权负载测试的方法
1. 提取登录接口返回的Bearer Token
找到返回Token的登录请求,根据响应格式选择对应的提取器:
- JSON格式响应:添加「JSON提取器」
- 引用名称:
bearer_token(自定义变量名,后续要用到) - JSON Path表达式:根据实际响应结构填写,比如
$.access_token或$.data.token - 匹配数字:
1(取第一个匹配结果)
- 引用名称:
- 非JSON格式响应:添加「正则表达式提取器」
- 引用名称:
bearer_token - 正则表达式:比如匹配
Bearer (.+?)或"token": "(.+?)"(根据响应文本调整) - 模板:
$1$ - 匹配数字:
1
- 引用名称:
2. 给后续请求添加Authorization请求头
选中需要授权的请求,添加「HTTP Header管理器」,新增一行配置:
- 名称:
Authorization - 值:
Bearer ${bearer_token}(变量名和提取器的引用名称保持一致)
3. 验证Token传递效果
运行脚本后,通过「查看结果树」检查:
- 后续请求的请求头中是否存在正确的
Authorization: Bearer xxx字段 - 请求响应状态码是否正常(避免401/403未授权错误)
4. 额外注意点
- 如果Token有过期时间,可添加「If控制器」判断响应是否返回401状态码,触发重新登录流程获取新Token
- 确保提取器的作用域覆盖所有需要授权的请求(建议放在线程组下或登录请求的子节点)
内容的提问来源于stack exchange,提问作者SQAD Tester
相关产品推荐
相关产品推荐

