今天想在Jmeter的beanshell里写脚本打印下输出内容,无奈一直报错
[WARN o.a.j.p.j.s.BeanShellSampler: Exception executing script. org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval In file: inline evaluation of: ``log.info(prop.get("newuseriddata")) log.info("$__propery(newuseriddata)}");'' Encountered "log" at line 2, column 1]
百度了很久有遇到此问题的同仁,但是没有解决办法,后来自己看日志,从以下思路解决的问题,顺便记录下:一开始我还以为是jar文件的事儿,没有该方法,后来确定的是写的方法的问题。
1.检查环境变量。CLASSPATH里包含[.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; %JMETER_HOME\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;]
2.检查jmeter.properties里关于log的设置
3.检查语法。一个是结束符;一个是log.info里应是字符串,像下面我写的内容就会报错【log.info(123);'' : Error in method invocation: Method info( int ) not found in class'org.apache.logging.slf4j.Log4jLogger'】
如果改成log.info("123"),则成功展示