【问题标题】:How to extract complete JSON response data in JMeter?如何在 JMeter 中提取完整的 JSON 响应数据?
【发布时间】:2015-04-06 23:56:45
【问题描述】:

我是 JMeter 的新手,仍处于学习阶段。

我正在 JMeter 中打个休息电话。我收到的响应数据,我想在接下来的休息电话中使用它原样。我收到的响应数据示例是:

{  
   "token":"ab062ad1-0585-4b41-b491-1bd4f6de57da",
   "refreshToken":"5444b837-7f18-4570-a84b-80dac80b393c",
   "expiresBy":"Sat May 02 14:49:06 EDT 2015",
   "mcomroles":[  
      "Super BA Admin",
      "WorkgroupSuperBAUser"
   ],
   "bcomroles":[  
      "Super BA Admin",
      "WorkgroupSuperBAUser"
   ]
}

为此,我添加了一个正则表达式提取器,但我不知道要给出什么正则表达式。

请提出建议。谢谢。

【问题讨论】:

  • JSONResponse 的值没有被它的值替换
  • GET 11.120.111.148:8081/token/validate [no cookies] 请求标头:连接:keep-alive 接受:应用程序/json accessToken:${JSONResponse} 缓存控制:无缓存内容类型:应用程序/x- www-form-urlencoded; charset=UTF-8 Accept-Language: null User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0 Accept-Encoding: gzip, deflate Pragma: no-cache Host: 11.120。 181.148:8081
  • 你能发布你的 Jmeter 测试吗?

标签: json jmeter


【解决方案1】:

如果您想按原样使用响应,请添加一个 beanshell-post 处理器而不是正则表达式提取器。

vars.put("JSONResponse", prev.getResponseDataAsString());

现在您可以在下一个请求中使用以下语句访问它。

${JSONResponse}

【讨论】:

    【解决方案2】:

    您可以使用Regular Expression Extractor 获取整个响应并将其保存到 JMeter 变量中。

    根据How to Extract Data From Files With JMeter 引导正则表达式,它将匹配一切看起来像

    (?s)(^.*)

    整个提取器配置应如下所示:

    ${response} 变量将保存父采样器响应数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-16
      • 1970-01-01
      相关资源
      最近更新 更多