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

如何在JMeter中保存GraphQL用户Token并实现请求自动替换

JMeter GraphQL全流程测试Token自动传递问题解决指南

一、确认Token提取逻辑适配GraphQL响应

GraphQL接口返回标准JSON结构,优先用JSON提取器而非正则:

  • 在登录请求下添加JSON Extractor,设置变量名为auth_token
  • 根据实际响应结构填写JSON Path表达式,比如响应为{"data":{"login":{"token":"xxx"}}}时,表达式写$.data.login.token
  • 匹配编号选择1,确保提取第一个有效Token

二、检查后续请求的Token引用语法

  • Header授权场景:在Authorization头中填写Bearer ${auth_token}(注意Bearer与变量间需加空格)
  • 请求体传参场景:如果GraphQL mutation需要在变量中携带Token,保证替换语法正确:
    请求体示例:
    mutation deleteUser($token: String!, $userId: ID!) {
      deleteUser(token: $token, userId: $userId) {
        id
      }
    }
    
    对应的变量部分:
    {"token": "${auth_token}", "userId": "${user_id}"}
    

三、验证提取器与变量的作用域

  • 提取器的作用域需设为当前线程组,确保后续所有请求都能读取到auth_token变量
  • 跨线程组传递Token时,用全局属性中转:
    在登录请求后添加BeanShell Sampler,执行代码:${__setProperty(global_token,${auth_token},)}
    后续线程组中用${__P(global_token,)}引用全局Token

四、调试变量提取结果

  • 添加Debug Sampler,运行后在View Results Tree中查看auth_token变量值
  • 如果变量为空,先检查登录请求的响应是否正常返回Token,再核对JSON Path表达式是否匹配响应结构

五、确保GraphQL请求的Content-Type配置

所有GraphQL请求的Header必须设置Content-Type: application/json,否则请求体解析失败会导致Token传递失效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 19:22:45