下面是我一直试图在JMETER中解决以下UseCase的代码。感谢您的快速帮助。
用例: 需要验证页面响应中的特定文本(例如“历史记录”),并且如果文本计数大于50,则需要对页面内的选项进行随机选择。如果文本计数小于50,则第一个选项需要选择。
我是Jmeter的新手,正尝试使用JSR223 POST处理器解决此问题,但不知何故卡在vars.put函数中,在该函数中,我看不到在V参数中填充了所需的数字。
使用边界匹配提取器,匹配项1满足第1个选择,而0满足随机选择。
def TotalInstanceAvailable = vars.get("sCount_matchNr").toInteger()
log.info("Total Instance Available = ${TotalInstanceAvailable}");
def boundary_analyzer =50;
def DesiredNumber,V
if (TotalInstanceAvailable < boundary_analyzer)
{
log.info("I am inside the loop")
DesiredNumber = 0;
log.info("DesiredNumber= ${DesiredNumber}");
vars.put("V", DesiredNumber)
log.info("v= ${V}");
}
else{
DesiredNumber=1;
log.info("DesiredNumber=${DesiredNumber}");
vars.put("V", "DesiredNumber")
log.info("v= ${V}");
}
def sCount = vars.get("sCount")
log.info("Text matching number is ${sCount_matchNr}")
答案 0 :(得分:0)
您无法使用vars.put()函数在JMeter变量中存储整数,您需要先将其强制转换为String,才能更改此行:
vars.put("V", DesiredNumber)
对此
vars.put("V", DesiredNumber as String)
或者,您可以使用vars.putObject()函数,该函数可以存储所有内容,但是您可以通过调用vars.getObject()
每当您遇到JMeter脚本问题时,就习惯于查看 jmeter.log 文件或切换Log Viewer窗口-在绝大多数情况下,您会找到根目录在日志文件中引起问题的原因: