JMETER存储请求JSON元素作为变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMETER存储请求JSON元素作为变量相关的知识,希望对你有一定的参考价值。
试图找出如何访问帖子请求体(JSON)的元素并将其存储为变量。我的一个测试使用${__UUID}@gmail.com创建了一个用户 - 然后我想检查我的回复是否包含相同的信息。
我猜我可能在请求之前创建UUID并将其存储为变量,然后检查它,但想知道是否有类似于JSON Path Extractor的请求元素。
答案
您可以使用JSR223 PreProcessor来满足您的要求。
- 假设您有JSON Payload,如:
{ "user": "${__UUID}@gmail.com" }
- 添加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)
- 上面的代码将:
从请求中提取与
$..user
JSON Path表达式匹配的所有内容 将其打印到jmeter.log文件 将值存储到JMeter变量中,以便您可以在需要时将其作为${user}
引用。
更多信息:
以上是关于JMETER存储请求JSON元素作为变量的主要内容,如果未能解决你的问题,请参考以下文章
性能测试工具 Jmeter GET 请求 参数为 Json 串且参数中存在变量的转化