【问题标题】:How to prepare the JSON payload from the response in JMeter如何从 JMeter 中的响应中准备 JSON 有效负载
【发布时间】:2021-07-23 12:27:36
【问题描述】:

我正在从一个 API 获得响应,并且需要从该响应中准备有效负载。 例如像这样的响应

    {
      "data": {
        "total_count": 5,
        "userIds": [1,2,3,4,5]
   }

需要将payload从响应中变成其他API之类的

{
"users": [
      {
        "user_id": 1,
        "invite_amount": 100,
      },
      {
        "user_id": 2,
        "invite_amount": 100
      },
      {
        "user_id": 3,
        "invite_amount": 100
      },
      {
        "user_id": 4,
        "invite_amount": 100
      },
      {
        "user_id": 5,
        "invite_amount": 100
      }
    ]
}

上面的payload需要发送到另一个API

【问题讨论】:

    标签: jmeter jmeter-5.0 jmeter-4.0 jmeter-3.2


    【解决方案1】:
    1. JSR223 PostProcessor 添加为返回上述 JSON 的请求的子项

    2. 将以下代码放入“脚本”区域:

      def userIds = new groovy.json.JsonSlurper().parse(prev.getResponseData()).data.userIds
      
      def payload = [:]
      
      def users = []
      userIds.each { userId ->
          def user = [:]
          user.put('user_id', userId)
          user.put('invite_amount', 100)
          users.add(user)
      }
      payload.put('users', users)
      
      vars.put('payload', new groovy.json.JsonBuilder(payload).toPrettyString())
      
    3. 就是这样,您可以在需要的地方将生成的有效负载值引用为${payload}

    更多信息:

    【讨论】:

      【解决方案2】:

      看看this链接

      基本上你需要使用JMeter JSON Extractor

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-17
        • 2023-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多