在同一请求正文中添加多个具有不同值的子元素

  • 本文关键字:元素 请求 正文 添加 jmeter
  • 更新时间 :
  • 英文 :


如何在同一个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文档
  • Apache Groovy-解析和生成JSON
  • Apache Groovy-为什么以及如何使用它
  • 最新更新