我想在JMeter中執行以下Beanshell腳本,並在日誌中引發錯誤。該腳本是:用於在線程之間共享cookie的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源文件:``進口org.apache.jmeter:內嵌評價.protocol.http.control.CookieManager;導入org.apache。 。 。 。 ''
它不滿意的行:manager.add(cookie);
如果我將它評論出來,那麼腳本運行,但顯然不會做我想要的。所以,不知道問題是什麼。
無法看到整個調試信息是沒有用的。 Jmeter日誌只記錄實際錯誤消息的一部分(如上所述),並且該消息在中間被切斷。打開調試模式不起作用。
我不明白'sampler.getCookieManager()'是如何工作的。在BeanShell採樣器中,該變量不是定義的可訪問變量之一。您必須將'sampler'定義爲這樣的變量,才能正常工作:'HTTPSampler sampler = ctx.getCurrentSampler()'。 – djangofan
@djangofan,當我這樣做時,我得到關於丟失HTTPSampler的錯誤: *類型變量聲明:類:HTTPSampler在命名空間中找不到* –
嗯,這篇文章很久以前。不知道Jmeter 3.1+中的東西是否相同。 – djangofan