【发布时间】:2016-07-21 10:07:54
【问题描述】:
我正在尝试在 JMeter 中执行以下 Beanshell 脚本,但它会在日志中引发错误。脚本是:
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
CookieManager manager = sampler.getCookieManager();
Cookie cookie = new Cookie("ApiSession",props.get("MyCookie"),"","/",false,0);
manager.add(cookie);
日志文件中的错误是:
jmeter.util.BeanShellInterpreter:调用 bsh 方法时出错:eval 源文件:内联评估:``import org.apache.jmeter.protocol.http.control.CookieManager;导入 org.apache。 . . . ''
这行不满意:manager.add(cookie);
如果我将其注释掉,则脚本会运行,但显然不会执行我想要的操作。所以,不确定是什么问题。
看不到完整的调试信息是没有帮助的。 Jmeter 日志仅记录实际错误消息的一部分(如上),并且该消息在中间被剪切。打开调试模式没有帮助。
【问题讨论】:
-
我看不出
sampler.getCookieManager()会如何工作。在 BeanShell 采样器中,该变量不是已定义的可访问变量之一。您必须将sampler定义为像这样的变量,它才能工作:HTTPSampler sampler = ctx.getCurrentSampler()。 -
@djangofan,当我这样做时,我收到关于缺少 HTTPSampler 的错误:Typed variable declaration : Class: HTTPSampler not found in namespace
-
嗯,这个帖子是很久以前的了。不确定 Jmeter 3.1+ 中的情况是否相同。
标签: jmeter beanshell cookiemanager