1. 程式人生 > >JMeter的BeanShell斷言中,訪問的變數值中有[或雙引號等特殊符號,導致執行出錯

JMeter的BeanShell斷言中,訪問的變數值中有[或雙引號等特殊符號,導致執行出錯

有2個變數,變數var1內容為[],變數var2內容為""。

若直接訪問${var1},${var2},符號[會報錯,錯誤提示:

BeanShell斷言 : org.apache.jorphan.util.JMeterException: Error invoking bsh method: evalIn file: inline evaluation of: ``(程式碼) . . .'' Encountered "[" at line 5, column 4.

若訪問"${var1}","${var2}",雙引號""會報錯,錯誤提示:

BeanShell斷言 : org.apache.jorphan.util.JMeterException: Error invoking bsh method: evalIn file: inline evaluation of: ``(程式碼) . . . '' Encountered "\"\"" at line 6, column 27.

解決方法是:

不要通過${var1}的方式訪問,通過vars.get("var1")的方式將JMeter的變數轉化為Java變數,再操作:

String tmp1 = vars.get("var1");
String tmp2 = vars.get("var2");
if(! tmp1.equals(tmp2)){
Failure = true;
FailureMessage += "\r\nvar1=" + tmp1 + ", var2=" + tmp2;
}