JMeter中Authorization变量未替换致Invalid token错误求助
JMeter接口测试401 Invalid Token问题解决
问题场景
使用JMeter进行接口测试时,明明提供了正确数据,却收到Invalid token错误,响应体如下:
{"status":401,"message":"Invalid token","messageCode":null,"returnObject":null,"count":0}
查看发送的请求头,发现Authorization字段为:
Authorization: Bearer ${Token}
问题根源
请求头里的${Token}是JMeter的变量占位符,但并未被替换为实际的有效Token值,服务端收到的是占位符而非合法认证凭证,因此触发401认证失败。
解决方法
- 确认
Token变量已正确定义:
检查是否通过「用户定义的变量」组件设置了Token值,或者是否通过前置处理器(如正则表达式提取器、JSON提取器)从登录接口的响应中成功提取并赋值给Token变量。 - 验证变量作用域:
确保Token变量的作用域覆盖当前请求——比如变量定义在测试计划或当前线程组下,要测试的接口请求处于同一线程组内。 - 调试变量实际值:
添加Debug Sampler到测试计划,运行后通过「查看结果树」查看Debug Sampler的输出,确认Token变量是否存在且值为有效Token。 - 检查请求头配置:
确认Authorization字段的格式为Bearer ${Token}(注意Bearer和变量之间有空格),且JMeter的变量替换功能未被禁用(默认开启,无需额外设置)。
内容的提问来源于stack exchange,提问作者Shreya Kumar
相关产品推荐
相关产品推荐

