JMeter - Verify a Specific Cookie Value was Used? -


so in test plan have cookie manager setup inside thread group sets specific cookie value 1 cookie. let's call it, myid. i'm trying figure out way verify specific cookie's value used complete 1 http request, because if set myid specific value *(which tells web server go to), "server1", server1 down, unavailable, etc... haproxy should change , send server2.

so want try , make sure cookie myid equal "server1" way through http request.

i trying use beanshell postprocessor verify cookie's value after request ran, when tried using code have inside preprocessor sets cookie in different test plan of mine error saying:

error message:

typed variable declaration : attempt resolve method: getcookiemanager() on undefined variable or class name: sampler


, below here code modified beanshell preprocessor in test plan have...

code:

import org.apache.jmeter.protocol.http.control.cookie; import org.apache.jmeter.protocol.http.control.cookiemanager;  cookiemanager manager = sampler.getcookiemanager();  (int = 0; < manager.getcookiecount(); i++) {     cookie cookie = manager.get(i);     if (cookie.getname().equals("myid"))    {         if (cookie.getvalue().equals("server1")) {             log.info("ok: cookie contained correct server number...");         } else {             log.info("error: cookie did not contain correct server number...");         }         break;     } } 

for error, thinking "sampler" object no longer available since request run, or along lines, i'm not sure...

or, there jmeter object should using instead of "beanshell postprocessor" in order verify cookie's value correct..?

any thoughts or suggestion appreciated!

thanks in advance,
matt

if trying cookie manager parent sampler in beanshell postprocessor - need use ctx.getcurrentsampler(), not "sampler" not exposed in script variables.

so change line:

cookiemanager manager = sampler.getcookiemanager(); 

to

 cookiemanager manager = ctx.getcurrentsampler().getcookiemanager(); 

and script should start working expect.

ctx shorthand jmetercontext instance , getcurrentsampler() method name self-explanatory.

for more information on beanshell scripting check out how use beanshell: jmeter's favorite built-in component guide.