JMETER存储请求JSON元素作为变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMETER存储请求JSON元素作为变量相关的知识,希望对你有一定的参考价值。

试图找出如何访问帖子请求体(JSON)的元素并将其存储为变量。我的一个测试使用${__UUID}@gmail.com创建了一个用户 - 然后我想检查我的回复是否包含相同的信息。

我猜我可能在请求之前创建UUID并将其存储为变量,然后检查它,但想知道是否有类似于JSON Path Extractor的请求元素。

答案

您可以使用JSR223 PreProcessor来满足您的要求。

  1. 假设您有JSON Payload,如: { "user": "${__UUID}@gmail.com" } JMeter HTTP Request JSON
  2. 添加JSR223 PostProcessor并将以下代码放入“脚本”区域: def user = com.jayway.jsonpath.JsonPath.read(sampler.getArguments().getArgument(0).getValue(), '$..user').get(0).toString() log.info('Random user email:' + user) vars.put('user', user)
  3. 上面的代码将: 从请求中提取与$..user JSON Path表达式匹配的所有内容 将其打印到jmeter.log文件 将值存储到JMeter变量中,以便您可以在需要时将其作为${user}引用。 JMeter JSON Path extract value from the request

更多信息:

以上是关于JMETER存储请求JSON元素作为变量的主要内容,如果未能解决你的问题,请参考以下文章

如何访问json中的数组元素?

Jmeter请求元件之用户自定义变量

Jmeter请求元件之用户自定义变量

性能测试工具 Jmeter GET 请求 参数为 Json 串且参数中存在变量的转化

jmeter-提取器之JSON Path PostProcessor

JMeter之参数关联