2012-10-03 29 views

Odpowiedz

2

Obecnie nie można po prostu, szczególnie jeśli chcesz usunąć jeden konkretny plik cookie.

Powinieneś zgłosić prośbę o ulepszenie w JMeter Bugzilla, precyzując, co chcesz zrobić.

myślę funkcją zwyczaj byłby miły funkcji, patrz:

7

Można tylko dodać post/pre procesu BeanShell i z tego kodu

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); 
    } 
} 
1

Moja droga nie jest daleko od powyższej (co nie działało dla mnie, przepraszam), ale jest krótsza, zawiera ważną aktualizację indeksu wewnątrz loka p, a niektóre dodatkowe demo do rozliczeń zużycia skryptu (mam nadzieję;))

JSESSIONID jest jednym z tokenów (pierwszy lub niektóre późniejsze), ten sposób, aby usunąć wszystkie znaki włącznie JSESSIONID proponuję użyć poniższy skrypt Java w JSR223 przed- i/lub postprocesor, gdzie trzeba:

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); 
     } 

Example of adding the script to PostProcessor in jMeter

czujność: wewnątrz dla pętli jest tutaj (0) nie (index), który pomaga uniknij wyjątku OutOfBoundary, becau Rozmiar se instancji CookieManager maleje po każdej iteracji.