我正在制作一个jmeter脚本,如下所示,我正在读取旧数据库并将其传递给下面的脚本
Http请求正文数据中的jmeter脚本
"ID": ${ID}
"ProductName": "${ProductName}"
"Name" : "${Name}"
"NoOfdays": ${Numberofdays}
像这样多达300多个参数
请求 记录#1
" ID":1 " ProductName":" Pixel" "名称" :" abcd" " NoOfdays":10 ......最多300个参数
记录#2
" ID":1 " ProductName":" null" "名称" :" null" " NoOfdays":0 ......最多300个参数
我发送" null"我的ESB服务器抛出错误它期望一个没有引号的null,我如何批量替换这个值比使用by参数明智,这是一个耗时的。
答案 0 :(得分:0)
从正文中的值中删除引号:
"ProductName": ${ProductName}
"Name" : ${Name}
将JSR223 PreProcessor添加到请求中,如果value不为null,则添加引号
if (vars.get("ProductName") != null) {
vars.put("ProductName", "\"" + vars.get("ProductName") + "\"")
}
if (vars.get("Name") != null) {
vars.put("Name", "\"" + vars.get("Name") + "\"")
}
如果值为“null”,您可以将其处理为:
if (!"null".equals(vars.get("ProductName") )) {
vars.put("ProductName", "\"" + vars.get("ProductName") + "\"")
}