You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建请求失败报错:token变量无法保存复用,使用${token}调用仍不生效

故障排查与解决步骤

报错说明

Failed to build request: attribute named is defined
该报错通常出现在Gatling性能测试框架中,本质是你尝试调用的Session变量不存在,或EL表达式写法错误。


具体解决方法

  • 检查变量名一致性:确认你保存token阶段的saveAs参数是否严格等于"token",Gatling的Session变量名大小写敏感,拼写错误、多空格都会导致无法匹配。
  • 修正EL表达式写法:不要将Gatling的EL表达式和Scala的字符串插值混用,直接在DSL参数中写包含${token}的普通双引号字符串即可,错误写法示例(使用了Scala s插值):header("Authorization", s"Bearer ${token}"),正确写法:header("Authorization", "Bearer ${token}")。如果你的代码中$符号被转义(比如写了\${token}),也会导致最终输出为{token},删除转义符即可。
  • 确认执行顺序:调用${token}的请求必须放在生成、保存token的请求之后,Gatling场景按代码编写顺序执行,前置请求未执行时Session中不会存在对应变量。
  • 校验变量是否正确保存:在保存token的请求之后插入调试代码,打印Session中的变量值确认是否保存成功:
.exec(session => {
  println("当前Session中的token值:" + session("token").asOption[String])
  session
})

如果调试打印结果为None,说明你的jsonPath路径错误,可先打印完整响应体核对token的实际层级路径。


内容的提问来源于stack exchange,提问作者Cristian Concatel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 12:54:03