首页 > 解决方案 > Jmeter构造动态http请求体

问题描述

任何人都可以指导我如何根据存储在列表中的 ID 数量构建动态 json http 请求正文吗?下面是所需请求正文的示例: 示例请求正文 我有一个 JSR223 脚本来收集 ID 并将它们存储在列表中。下面是我的脚本(后处理器)的一部分,用于将列表中的每个 id 传递给 http 请求正文。

for (int j=0; j < myList.size(); j++) {
vars.put(“accountId”, qualifiedList[j])

}

下面是 HTTP 请求体的结构: HTTP 请求体

我遇到的问题是,使用此配置,只有列表中的最后一个 id 被传递给正文......那么如何构造一个包含所有 id 作为示例请求正文的动态 json 有效负载?

标签: groovyjmeter

解决方案


  1. for 循环的每次迭代,你都用你的新值覆盖accountId变量值qualifiedList
  2. 您应该生成一个JSON 数组,并且生成一个字符串

建议的代码更改:

def payload = []

for (int j = 0; j < myList.size(); j++) {
    payload.add([accountId: qualifiedList[j]])
}

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

更多信息:


推荐阅读