Apache Groovy-解析和生成JSON Apache Groovy-为什么以及如何使用它
如何在同一个JMeter post请求体中添加多个具有不同值的子元素?
我需要添加1000个。请参阅下面的HTTP请求正文数据。感谢
[
{
"action": "create",
"uniqueId": "${uniqueId1}",
"value": {
"name": "Bulk Create ${uniqueId1}",
"notes": "Created on ${__time(DDMMYYYY,)}",
"pmaPrefix": "ABC",
"uniqueId": "${uniqueId1}"
}
},
{
"action": "create",
"uniqueId": "${uniqueId2}",
"value": {
"name": "Bulk Create ${uniqueId2}",
"notes": "Created on ${__time(DDMMYYYY,)}",
"pmaPrefix": "ABC",
"uniqueId": "${uniqueId2}"
}
},
{
"action": "create",
"uniqueId": "${uniqueId3}",
"value": {
"name": "Bulk Create ${uniqueId3}",
"notes": "Created on ${__time(DDMMYYYY,)}",
"pmaPrefix": "ABC",
"uniqueId": "${uniqueId3}"
}
}
]
您可以使用任何合适的JSR223测试元素生成任意数量的元素。
示例代码:
def payload = []
def entry = [:]
1.upto(1000, index -> {
entry.put('action', 'create')
def uniqueId = UUID.randomUUID().toString()
entry.put('uniqueId', 'uniqueId')
def value = [:]
value.put('name', 'Bulk Create ' + uniqueId)
value.put('notes', 'Created on ' + new Date().format('DDMMYYYY'))
value.put('pmaPrefix', 'ABC')
value.put('uniqueId', uniqueId)
entry.put('value', value)
payload.add(entry)
})
vars.put('payload', new groovy.json.JsonBuilder(payload).toPrettyString())
假设一切顺利,您应该能够在需要时将生成的内容引用为${payload}
。
更多信息:
JsonBuilder文档