如何在JMeter中传递请求头并提取响应中的id_token值
JMeter配置操作指南
1. 配置请求头传递RefreshTokenCredential参数
- 选中需要发送请求的HTTP请求采样器,右键依次选择
添加→配置元件→HTTP信息头管理器 - 打开HTTP信息头管理器,点击底部「添加」按钮新增行
- 「名称」列填写接口要求的请求头字段名,若字段名本身就是RefreshTokenCredential可直接填入该值;「值」列填写RefreshTokenCredential的实际内容,也可提前将token存入变量后用
${变量名}的形式调用 - 保存配置后,该采样器发起请求时会自动携带配置的请求头参数
2. 提取响应中的id_token值
id_token通常出现在JSON格式响应中,优先推荐使用JSON提取器,特殊格式响应可使用正则表达式提取器:
2.1 JSON响应场景(推荐)
- 选中目标HTTP请求采样器,右键依次选择
添加→后置处理器→JSON提取器 - 按需求配置参数:
- 引用名称:自定义后续调用该值的变量名,例如填
id_token - JSON Path表达式:若id_token在响应根节点,填写
$.id_token;若嵌套在其他层级下,对应调整路径即可,例如嵌套在data节点下就填$.data.id_token - 匹配数字:填
0代表取第一个匹配值,填-1可取所有匹配结果 - 默认值:可填写
NOT_FOUND,方便后续排查提取失败的问题
- 引用名称:自定义后续调用该值的变量名,例如填
- 后续需要使用id_token的位置,直接用
${id_token}(和你填写的引用名称保持一致)调用即可
2.2 非JSON响应场景
- 选中目标HTTP请求采样器,右键依次选择
添加→后置处理器→正则表达式提取器 - 按需求配置参数:
- 引用名称:自定义后续调用的变量名,例如填
id_token - 正则表达式:填写
"id_token":"(.+?)",如果id_token的前后标识不是双引号,对应调整匹配规则即可 - 模板:填写
$1$ - 匹配数字:填
0即可 - 默认值:可填写
NOT_FOUND
- 引用名称:自定义后续调用的变量名,例如填
提取校验
你可以在采样器下添加调试后置处理器,运行后在「察看结果树」中即可查看对应变量的提取结果,验证是否提取成功。
内容的提问来源于stack exchange,提问作者Kamal
相关产品推荐
相关产品推荐

