Я использовал препроцессор Beanshell для добавления пользовательских файлов cookie, созданных с помощью javascript. Хотя раньше он работал идеально, с той же строкой кодов я начал получать ошибки в моем препроцессоре.
ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.apache.jmeter.protocol.http.control.CookieManager; import org.apache. . . . '' : TargetError
WARN - jmeter.modifiers.BeanShellPreProcessor: Problem in BeanShell script org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.apache.jmeter.protocol.http.control.CookieManager; import org.apache. . . . '' : TargetError
Строки кода соответствуют предложению, приведенному в https://javaworks.wordpress.com/2011/08/05/setting-cookie-in-jmeter/
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
try{
CookieManager manager = sampler.getCookieManager();
Cookie cookie1 = new Cookie("cookie1","value","localhost","/",false,0);
manager.add(cookie1);
}catch (Throwable ex) {
log.error("Error in Beanshell", ex);
throw ex;
}
Я наткнулся на несколько сообщений в stackoverflow, связанных с beanshell. Однако никто не отвечает, почему импорт в бобовую оболочку терпит неудачу. Журнал ошибок:
018/07/02 16:24:47 ERROR - jmeter.util.BeanShellTestElement: Error in Beanshell java.lang.NullPointerException
at org.apache.jmeter.protocol.http.control.CookieManager.match(CookieManager.java:386)
at org.apache.jmeter.protocol.http.control.CookieManager.removeMatchingCookies(CookieManager.java:402)
at org.apache.jmeter.protocol.http.control.CookieManager.add(CookieManager.java:307)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at bsh.Reflect.invokeMethod(Reflect.java:134)
at bsh.Reflect.invokeObjectMethod(Reflect.java:80)
at bsh.Name.invokeMethod(Name.java:858)
at bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:75)
at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
at bsh.BSHBlock.evalBlock(BSHBlock.java:130)
at bsh.BSHBlock.eval(BSHBlock.java:80)
at bsh.BSHBlock.eval(BSHBlock.java:46)
at bsh.BSHTryStatement.eval(BSHTryStatement.java:86)
at bsh.Interpreter.eval(Interpreter.java:645)
at bsh.Interpreter.eval(Interpreter.java:739)
at bsh.Interpreter.eval(Interpreter.java:728)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.jmeter.util.BeanShellInterpreter.bshInvoke(BeanShellInterpreter.java:163)
at org.apache.jmeter.util.BeanShellInterpreter.eval(BeanShellInterpreter.java:186)
at org.apache.jmeter.util.BeanShellTestElement.processFileOrScript(BeanShellTestElement.java:151)
at org.apache.jmeter.modifiers.BeanShellPreProcessor.process(BeanShellPreProcessor.java:59)
at org.apache.jmeter.threads.JMeterThread.runPreProcessors(JMeterThread.java:786)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:445)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:410)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:241)
at java.lang.Thread.run(Unknown Source)