我正在尝试使用Jmeter中的Groovy Json Builder创建JSON。
下面是我创建的用于获取所需JSON的代码:
int res = func([](int a, int b) { return a + b; } );
int res2 = func([](int a) { return a * a; } );
CSV数据如下:
0.0.0.0,255.255.255.255 10.0.0.1,255.0.0.0
上面的CSV可以有1到100个IP之间的多个值,以','分隔。 还需要根据IP行的数量修改代码。 ABove CSV数据需要在IPRange标签下,结果应为:
import groovy.json.JsonBuilder
def json = new JsonBuilder()
json {
"Rule":{
"__type":"AndroidSamsungDeviceRelocationRule",
"RuleId":0,
"Name":"Test",
"DeviceFamily":6,
"Targets":{
"Groups":[
{
"Id":"[{LogicalId="${logicalid1}"}]"
}
],
"Devices":[
]
},
"Priority":0,
"IsEnabled":true,
"StartDate":"/Date(${__time(,)})/",
"EndDate":null,
"Mappings":[
{
"RelocationTarget":{
"Id":"${logicalid2}",
"Name":"${__P(TargetGroups)}",
"Path":"\\'${__P(TargetGroups)}'\\",
"PathVisible":"\\'${__P(TargetGroups)}'\\"
},
"IPRange":[
source Double.parseDouble(vars.get("source"))
destination Double.parseDouble(vars.get("destination"))
]
}
],
"EnrollmentCertificateId":null,
"EnrollmentCertificateName":""
}
}
sampler.addNonEncodedArgument("",json.toPrettyString(),"")
sampler.setPostBodyRaw(true)
但是我遇到的问题是jmeter中的“错误请求”。
答案 0 :(得分:0)
我看不到为什么需要在Groovy中构建请求正文,它可以完全在HTTP Request“ Body Data”标签中完成,例如:
查看JMeter Parameterization - The Complete Guide,以获取有关使用外部数据源创建数据驱动的JMeter测试的示例