Jmeter:如何动态增加请求json的大小。(IBM cloudant db通过Jmeter可接受的最大json文件大小。)
我必须通过Jmeter在IBMCloudAntDB中测试最大可接受JSON大小。我已经创建了一个JSON文件,需要在JMeter中增加JSON文件中公民详细信息的数量。举个例子,我创建了一个JSON文件,并在第一次迭代中传递了一个公民的信息,下一次迭代应该是两个公民,它将不断增加。。。第n次迭代应该是n个公民详细信息(如果我增加主体,JSON大小也会增加)。我怎样才能做到这一点,请任何人提出建议Jmeter:如何动态增加请求json的大小。(IBM cloudant db通过Jmeter可接受的最大json文件大小。),jmeter,ibm-cloud,cloudant,jmeter-plugins,Jmeter,Ibm Cloud,Cloudant,Jmeter Plugins,我必须通过Jmeter在IBMCloudAntDB中测试最大可接受JSON大小。我已经创建了一个JSON文件,需要在JMeter中增加JSON文件中公民详细信息的数量。举个例子,我创建了一个JSON文件,并在第一次迭代中传递了一个公民的信息,下一次迭代应该是两个公民,它将不断增加。。。第n次迭代应该是n个公民详细信息(如果我增加主体,JSON大小也会增加)。我怎样才能做到这一点,请任何人提出建议 "docs": [ { "name": "Nicholas",
"docs": [
{
"name": "Nicholas",
"age": 45,
"gender": "male",
"_attachments": {
}
},
{
"name": "Taylor",
"age": 50,
"gender": "male",
"_attachments": {
}
}
]
}
如果要在每次迭代时向有效负载添加新条目,请执行以下操作:
- 测试计划结构:
import groovy.json.JsonBuilder
import groovy.json.internal.LazyMap
import org.apache.commons.lang3.RandomStringUtils
import org.apache.commons.lang3.RandomUtils
def data = []
0.upto(vars.get('__jm__Thread Group__idx') as int, {
def entry = new LazyMap()
entry.put('name', RandomStringUtils.randomAlphabetic(10))
entry.put('age', RandomUtils.nextInt(18, 99))
entry.put('gender', 'male')
entry.put('__attachments', {})
data.add(entry)
})
def builder = new JsonBuilder()
builder(docs: data.collect {
[name: it.get('name'), age: it.get('age'), gender: it.get('gender'), __attachments: it.get('__attachments')]
})
sampler.getArguments().removeAllArguments()
sampler.addNonEncodedArgument('', builder.toPrettyString(), '')
sampler.setPostBodyRaw(true)