使用Jmeter 2.12,是什么导致JMeter Loop Controller期间cookie重置失败?我已经尝试了所有可以想到的方法,但是每次循环时,仍然保留以前登录的cookie之一。它似乎并没有真正清除cookie。
这是我组合循环的方式:
Thread Group 1
-- Loop Controller (3x)
-- Simple Controller
-- HTTP Header Manager
-- HTTP Cookie Manger (with 'Clear cookies each iteration?' enabled)
-- BeanShell sampler - with code that tries to clear all cookies
-- HTTP /login (gets cookies and auth headers)
-- ... various HTTP Samplers ...
-- HTTP /logout
我尝试使用此代码添加一个Beanshell采样器(如上所示),但它似乎无能为力:
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.HeaderManager;
CookieManager cManager = sampler.getCookieManager();
cManager.clear();
HeaderManager hManager = sampler.getHeaderManager();
hManager.clear();
最佳答案
cManager
实例未传递回采样器。您需要按以下方式修改代码:CookieManager cManager = sampler.getCookieManager();
cManager.clear();
sampler.setCookieManager(cManager);
因此,
sampler
可能具有已清除Cookie的“cManager”实例有关Apache JMeter中Beanshell脚本的更多信息,请参见How to use BeanShell: JMeter's favorite built-in component指南。
关于jmeter - Cookies不会在JMeter的 'Loop Controller'的迭代中重置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27748321/