как очистить JSESSIONID каждого потока (пользователя) в Jmeter по требованию

Я хочу очистить переменную JMeter JsessionID в любое время (по моему требованию).

Я знаю, что в JMeter CookieManager есть опция флажка с именем"очистить Cookie на каждой итерации".
Но он очищает сеанс на каждой итерации, в то время как я хочу очистить его в любое время на итерации.

Как я могу это сделать в Jmeter?

3 ответов


в настоящее время не просто , особенно если вы хотите удалить один конкретный файл.

вы должны поднять запрос на улучшение в JMeter Bugzilla, давая точность того, что вы хотите сделать.

Я думаю, что пользовательская функция будет хорошей функцией, см.:


вы можете просто добавить post / pre процесс beanShell и с этим кодом

import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
CookieManager manager = sampler.getCookieManager();
for (int i=0;i<manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals("BAD_COOKIE")){
        sampler.getCookieManager().remove(i);
    }
}

мой путь недалеко от вышеуказанного (который не работал для меня, извините), но он короче, содержит важное обновление индекса внутри цикла и некоторую дополнительную демонстрацию для очистки использования скрипта (я надеюсь ;) )

JSESSIONID - один из токенов (первый или некоторые из последующих), таким образом, чтобы удалить все токены, включая JSESSIONID, я бы предложил использовать следующий Java-скрипт в JSR223 Pre-и / или PostProcessor, где вы нужно:

import org.apache.jmeter.protocol.http.control.CookieManager;

CookieManager cManager = sampler.getCookieManager();
    int count = cManager.getCookieCount();
    for (int index = 0; index < count; index++) {
        cManager.remove(0);
        }

пример добавления скрипта в постпроцессор в jMeter

обратить внимание: внутри на loop здесь (0), а не (index), что помогает избежать исключения OutOfBoundary, потому что размер экземпляра CookieManager уменьшается после каждой итерации.