如何在jmeter中从json文件中只读取一定数量的条目?

31moq8wy  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(124)

我发送的json文件作为主体。有像10k json文件,所以我使用目录列表配置在jmeter插件。而阅读json文件,我使用这个:

${__FileToString(${file},,)}

读取文件信息. Json文件如下所示:

{
  "type": "transaction",
  "entry": [
    {
      "fullUrl": "urn:oaeignaeogin",
      "resource": {
        "resourceType": "Player",
        "id": "aegaegaeg-aega-aegg-aegeag-aegaegeag",
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"stuff"
        },
        "multipleBirthBoolean": false,
        "communication": [
          {
            "language": {
              "coding": [
                {
                  "system": "urn:437",
                  "code": "en-US",
                  "display": "English"
                }
              ],
              "text": "English"
            }
          }
        ]
      },
      "request": {
        "method": "POST",
        "url": "Patient"
      }
    }
  ]
}

我该怎么做才能让我只阅读最多25个条目,然后将其作为正文发送?任何帮助都将不胜感激。

jq6vz3qz

jq6vz3qz1#

JSON文件仅包含一个entry元素

如果存在包含多个entry的文件,而您只需要发送前25个条目,则需要使用JSR223预处理器解析JSON,提取前25个条目,重新构建JSON并覆盖变量。
1.将JSR223预处理器添加为需要发送的请求的子项
1.将以下代码放入“Script”区域:

def json = new groovy.json.JsonSlurper().parse(new File(vars.get('file')))
if (json.entry.size() > 25) {
    json.entry = json.entry.take(25)
}

vars.put('payload', new groovy.json.JsonBuilder(json).toPrettyString())

1.替换“HTTP请求”采样器的“正文数据”选项卡中的${__FileToString(${file},,)}
更多信息:

相关问题