在 JSR223 Sampler Jmeter 中添加来自先前采样器的 Cookie
Adding Cookie from previous sampler in JSR223 Sampler Jmeter
我正在尝试执行来自 JSR223 采样器的 ajax 调用,就像在 中一样。
我能够从 ajax 不需要登录身份验证 cookie 的调用中获得响应。
但是,没有从需要登录生成的身份验证 cookie 的 ajax 调用中获得响应。
我在 JSR223 采样器之前添加了登录 http 调用,但是 cookie 没有在请求中传递。尝试添加代码:
HTTPSamplerProxy previousSampler = ctx.getPreviousSampler();
CookieManager cookieManager = previousSampler.getCookieManager();
HTTPSampleResult previousResult = (HTTPSampleResult)ctx.getPreviousResult();
log.info("Cookie Count is : "+ cookieManager.getCookieCount());
它抛出以下异常:
2017-11-28 10:44:51,195 ERROR o.a.j.p.j.s.JSR223Sampler: Problem in
JSR223 script JSR223 Sampler, message: javax.script.ScriptException:
java.lang.NullPointerException: Cannot invoke method getCookieCount()
on null object javax.script.ScriptException:
java.lang.NullPointerException: Cannot invoke method getCookieCount()
on null object
检查您是否在测试 pkan 中添加了 CookieManager。
也使用 JSR223 预处理器而不是 JsR223 采样器。
您收到的错误表明您没有 HTTP Cookie Manager added/enabled。
作为 Groovy 脚本的替代方案,您可以使用 "normal" JMeter HTTP Request 自然支持 cookie、缓存、headers、授权等的采样器
为了能够以 AJAX-like 并行方式执行它们,请将采样器置于 Parallel Controller. You can install the Parallel Controller using JMeter Plugins Manager
下
如前所述,您有 HTTP cookie 管理器吗?
这是将 cookie 添加到 cookie 管理器中的代码
import org.apache.jmeter.protocol.http.control.Cookie;
try {
String params = vars.get("getCookieValue");
ctx.getCurrentSampler().getCookieManager().add(new Cookie("COOKIENAME", params, "domain", "/url", true, Long.MAX_VALUE));
}
catch (Throwable ex) {
log.error("Error in Beanshell", ex);
throw ex;
}
我正在尝试执行来自 JSR223 采样器的 ajax 调用,就像在
我能够从 ajax 不需要登录身份验证 cookie 的调用中获得响应。 但是,没有从需要登录生成的身份验证 cookie 的 ajax 调用中获得响应。
我在 JSR223 采样器之前添加了登录 http 调用,但是 cookie 没有在请求中传递。尝试添加代码:
HTTPSamplerProxy previousSampler = ctx.getPreviousSampler();
CookieManager cookieManager = previousSampler.getCookieManager();
HTTPSampleResult previousResult = (HTTPSampleResult)ctx.getPreviousResult();
log.info("Cookie Count is : "+ cookieManager.getCookieCount());
它抛出以下异常:
2017-11-28 10:44:51,195 ERROR o.a.j.p.j.s.JSR223Sampler: Problem in JSR223 script JSR223 Sampler, message: javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getCookieCount() on null object javax.script.ScriptException: java.lang.NullPointerException: Cannot invoke method getCookieCount() on null object
检查您是否在测试 pkan 中添加了 CookieManager。
也使用 JSR223 预处理器而不是 JsR223 采样器。
您收到的错误表明您没有 HTTP Cookie Manager added/enabled。
作为 Groovy 脚本的替代方案,您可以使用 "normal" JMeter HTTP Request 自然支持 cookie、缓存、headers、授权等的采样器
为了能够以 AJAX-like 并行方式执行它们,请将采样器置于 Parallel Controller. You can install the Parallel Controller using JMeter Plugins Manager
下如前所述,您有 HTTP cookie 管理器吗? 这是将 cookie 添加到 cookie 管理器中的代码
import org.apache.jmeter.protocol.http.control.Cookie;
try {
String params = vars.get("getCookieValue");
ctx.getCurrentSampler().getCookieManager().add(new Cookie("COOKIENAME", params, "domain", "/url", true, Long.MAX_VALUE));
}
catch (Throwable ex) {
log.error("Error in Beanshell", ex);
throw ex;
}