如何从 JMeter 中的响应准备 JSON 负载
How to prepare the JSON payload from the response in JMeter
我收到一个 API 的响应,需要根据该响应准备有效负载。
例如响应如
{
"data": {
"total_count": 5,
"userIds": [1,2,3,4,5]
}
需要从对其他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
看看thislink
基本上你需要使用JMeter JSON Extractor
添加 JSR223 PostProcessor 作为上述 returns JSON
请求的子项
将以下代码放入“脚本”区域:
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())
就是这样,您可以在需要的地方将生成的有效负载值引用为 ${payload}
更多信息:
我收到一个 API 的响应,需要根据该响应准备有效负载。 例如响应如
{
"data": {
"total_count": 5,
"userIds": [1,2,3,4,5]
}
需要从对其他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
看看thislink
基本上你需要使用JMeter JSON Extractor
添加 JSR223 PostProcessor 作为上述 returns JSON
请求的子项将以下代码放入“脚本”区域:
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())
就是这样,您可以在需要的地方将生成的有效负载值引用为
${payload}
更多信息: