我想比较两个值,然后选择其中一个等于第二个变量。 我已经在BeanShellPostProcessor中写了如下代码
main
但是我遇到错误
2018-11-27 14:48:53,504错误o.a.j.u.BeanShellInterpreter:调用bsh方法时出错:eval在文件中:内联评估:``HitID = vars.get(“ AddPrpc139”); b = 139 if(HitID.equals(b)){log.info(“ ...... val ...。”在第4行第1列遇到“ if”。
2018-11-27 14:48:53,504警告oajeBeanShellPostProcessor:BeanShell脚本中的问题:org.apache.jorphan.util.JMeterException:调用bsh方法时出错:eval在文件中:内联评估:``HitID = vars .get(“ AddPrpc139”); b = 139 if(HitID.equals(b)){log.info(“ ...... val ...。”在第4行第1列遇到“ if”。
答案 0 :(得分:0)
Java / Beanshell期望;
位于行尾。也可以内嵌b
HitID = vars.get("AddPrpc139");
if("139".equals(HitIDb))
{
还考虑迁移到JSR223后处理器
答案 1 :(得分:0)
b=139
行后添加分号。 139
周围加上引号,否则JMeter会将String与Integer进行比较,即使这些值,您也将始终进入else
分支会一样修订代码:
HitID = vars.get("AddPrpc139");
b = "139";
if (HitID.equals(b)) {
log.info("Values are equal, expected: " + b + ", got: " + HitID);
} else {
log.info("Values are NOT equal, expected: " + b + ", got: " + HitID);
}'
演示:
请注意,according to JMeter Best Practices you should be using JSR223 PostProcessor with Groovy language starting from JMeter 3.1。 Groovy是一种更现代的语言,它与最新的Java功能兼容,并且具有更好的性能。请查看Apache Groovy - Why and How You Should Use It文章以了解更多详细信息。