JMeter无法提取前序响应数据 如何捕获PUT请求webkit格式JSON值
JMeter前置响应值提取及PUT请求JSON体赋值操作方法
步骤1:根据前置响应的格式选择对应提取器
场景1:前置响应为JSON格式
使用JSON提取器完成值提取:
- 给返回目标值的前置请求添加JSON提取器,操作路径:右键对应请求 → 添加 → 后置处理器 → JSON Extractor
- 核心参数配置:
Reference Name:填写自定义变量名,后续调用格式为${自定义变量名}JSON Path Expression:填写目标字段的JSON路径,例如提取响应中data节点下的userId字段,填写$.data.userId,可提前在「察看结果树」的JSON Path Tester功能中验证路径有效性Match No.:取首个匹配值填1,取所有匹配值填-1,随机取值填0Default Value:可填写兜底值如EXTRACT_FAIL,便于后续排查提取异常问题
场景2:前置响应为非JSON格式(文本/HTML/XML等)
使用正则表达式提取器完成值提取:
- 给返回目标值的前置请求添加正则表达式提取器,操作路径:右键对应请求 → 添加 → 后置处理器 → 正则表达式提取器
- 核心参数配置:
Reference Name:填写自定义变量名Regular Expression:填写匹配规则,用括号包裹要提取的内容段,例如提取响应中"token":"abc123"里的token值,填写"token":"(.+?)"Template:固定填写$1$,代表取第一个括号匹配的内容Match No.、Default Value配置规则同JSON提取器
步骤2:在PUT请求的webkit格式JSON体中调用变量
将PUT请求JSON体中需要动态赋值的位置,替换为对应${自定义变量名}即可,示例:
{ "id": ${extractId}, "content": "test content", "updateTime": "${currentTime}" }
校验方式
可在请求链中添加调试取样器(操作路径:右键线程组 → 添加 → 取样器 → 调试取样器),运行后在「察看结果树」中查看调试取样器的输出,确认变量是否提取成功、赋值正确。
内容的提问来源于stack exchange,提问作者Roshan
相关产品推荐
相关产品推荐

