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

时间:2018-03-01 18:02:16

标签: json variables request jmeter

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

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

1 个答案:

答案 0 :(得分:0)

您可以使用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

  4. 更多信息: