如何使用Groovy脚本在Jmeter中创建有效负载

bjp0bcyl  于 2023-03-02  发布在  其他
关注(0)|答案(2)|浏览(157)

我们如何在Jmeter中使用格式为的Groovy脚本创建有效负载

[
  {
    "test": 123,
    "number": "welcome"
  },
  {
    "test": 123,
    "number": "welcome"
  },
  {
    "test": 123,
    "number": "welcome"
  }
]

已尝试以下代码,但它具有数组名称,而该名称不应出现在上述格式中。

import groovy.json.JsonBuilder
import groovy.json.JsonSlurper

def listS = new JsonSlurper().parse(prev.getResponseData())
def jsonBuilder = new JsonBuilder()

jsonBuilder {

    "list" lists.collect {
        [
            carrierid: vars.get('carrierid'),
            carrierType: vars.get('carrierType'),
            cou: vars.get('ean'),
            position: vars.get('position'),
            taskId: vars.get('taskId'),
            OQ: vars.get('OQ'),       
        ]
    }
}

vars.put('requestBody', jsonBuilder.toPrettyString())
log.info('Generated body: ' + vars.get('requestBody'))
uoifb46i

uoifb46i1#

可以将所需的对象或数组作为参数传递给JsonBuilder构造函数

def jsonBuilder = new JsonBuilder(
  lists.collect {
    ...
  }
)

vars.put('requestBody', jsonBuilder.toPrettyString())
gg58donl

gg58donl2#

如果你想特别指出你问题中的有效载荷:

def payload = []

1.upto(3, {
    payload.add([test: 123, number: 'welcome'])
})

vars.put('requestBody', new groovy.json.JsonBuilder(payload).toPrettyString())
log.info('Generated body: ' + vars.get('requestBody'))

简而言之:

更多信息:

相关问题