jmeter 循环控制器内无法清除cookie
jmeter自带cookie管理器,勾选每次自动清除cookie,无法清除线程内循环控制器等cookie,查询资料发现,cookie管理器自动清除cookie只会对线程间起效果,就是多个线程cookie会清除
因为工作中用到jmeter新建用户脚本,用户首次登录需要修改密码,签订隐私免责等,发起免责请求cookie中需要用户名来判断是哪个用户发的请求
如果用多个线程来创建多个用户,那么cookie管理器清除cookie就是正常的,可以顺利的将我cookie中用户名这一变量,每次跟随我新建的用户名来变动。但是如果我是用单线程开循环控制器通过吞吐量控制器来循环,cookie中用户名这一变量就不变动了
最后附上我查询到的解决方法(ps:查询了很久,各种重复无用的水文)。JSR223 PostProcessor后置处理器,添加到你最后一个请求里,请求结束清除cookie,脚本代码如下
(图片后补)
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
CookieManager cManager = sampler.getCookieManager();
int count=cManager.getCookieCount();
for (int index = 0;index<count;index++){
cManager.remove(0);
}