我有一个预处理beanshell脚本,我之前在输入文件中添加了cookie,它运行得很好。我最近添加了一行来清除cookie,然后添加它们,因为我现在每个循环有多个请求,并且不希望第一个请求的响应在第二个请求上设置cookie。
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
String value=vars.get("header");
if(value!=null && value!=""){
String cookiesStr=value.replace(";+",";");
String[] cookies= cookiesStr.split(";");
CookieManager manager = sampler.getCookieManager();
manager.clear();
for(int i=0;i<cookies.length;i++){
String[] cookieNameVal= cookies[i].split("=");
if(cookieNameVal.length>=2){
Cookie cookietidal = new Cookie(cookieNameVal[0],cookieNameVal[1],"domain1.com","/", false,-1);
Cookie cookievlg = new Cookie(cookieNameVal[0],cookieNameVal[1],"domain2.com","/", false,-1);
manager.add(cookie1);
manager.add(cookie2);
}
}
}
现在这会清除cookie,但之后不会添加任何cookie。我无法弄清楚原因。
答案 0 :(得分:0)
我终于尝试在我的线程组中的每个HTTP请求下创建一个不同的cookie管理器实例。现在无需清除它们。