Class CookieManager

All Implemented Interfaces:
Serializable, Cloneable, ConfigElement, Searchable, org.apache.jmeter.testelement.TestElement, TestIterationListener, TestStateListener

public class CookieManager extends ConfigTestElement implements TestStateListener, TestIterationListener, Serializable
This class provides an interface to the netscape cookies file to pass cookies along with a request.
See Also:
  • Constructor Details

    • CookieManager

      public CookieManager()
  • Method Details

    • clone

      public Object clone()
      Specified by:
      clone in interface ConfigElement
      Specified by:
      clone in interface org.apache.jmeter.testelement.TestElement
      Overrides:
      clone in class AbstractTestElement
    • getPolicy

      public String getPolicy()
    • setCookiePolicy

      public void setCookiePolicy(String policy)
    • getCookies

      public CollectionProperty getCookies()
    • getCookieCount

      public int getCookieCount()
    • getClearEachIteration

      public boolean getClearEachIteration()
    • setClearEachIteration

      public void setClearEachIteration(boolean clear)
    • getControlledByThread

      public boolean getControlledByThread()
    • setControlledByThread

      public void setControlledByThread(boolean control)
    • getImplementation

      public String getImplementation()
    • setImplementation

      public void setImplementation(String implementation)
    • save

      public void save(String authFile) throws IOException
      Save the static cookie data to a file.

      Cookies are only taken from the GUI - runtime cookies are not included.

      Parameters:
      authFile - name of the file to store the cookies into. If the name is relative, the system property user.dir will be prepended
      Throws:
      IOException - when writing to that file fails
    • addFile

      public void addFile(String cookieFile) throws IOException
      Add cookie data from a file.
      Parameters:
      cookieFile - name of the file to read the cookies from. If the name is relative, the system property user.dir will be prepended
      Throws:
      IOException - if reading the file fails
    • recoverRunningVersion

      public void recoverRunningVersion()
      Specified by:
      recoverRunningVersion in interface org.apache.jmeter.testelement.TestElement
      Overrides:
      recoverRunningVersion in class AbstractTestElement
    • setRunningVersion

      public void setRunningVersion(boolean running)
      Sets the runningVersion.
      Specified by:
      setRunningVersion in interface org.apache.jmeter.testelement.TestElement
      Overrides:
      setRunningVersion in class AbstractTestElement
      Parameters:
      running - the runningVersion to set
    • add

      public void add(Cookie c)
      Add a cookie.
      Parameters:
      c - cookie to be added
    • clear

      public void clear()
      Specified by:
      clear in interface org.apache.jmeter.testelement.TestElement
      Overrides:
      clear in class AbstractTestElement
    • remove

      public void remove(int index)
      Remove a cookie.
      Parameters:
      index - index of the cookie to remove
    • get

      public Cookie get(int i)
      Return the cookie at index i.
      Parameters:
      i - index of the cookie to get
      Returns:
      cookie at index i
    • getCookieHeaderForURL

      public String getCookieHeaderForURL(URL url)
      Find cookies applicable to the given URL and build the Cookie header from them.
      Parameters:
      url - URL of the request to which the returned header will be added.
      Returns:
      the value string for the cookie header (goes after "Cookie: ").
    • addCookieFromHeader

      public void addCookieFromHeader(String cookieHeader, URL url)
    • testStarted

      public void testStarted()

      Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.

      N.B. testStarted() and testEnded() are called from different threads.

      Specified by:
      testStarted in interface TestStateListener
      See Also:
    • testEnded

      public void testEnded()

      Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.

      N.B. testStarted() and testEnded() are called from different threads.

      Specified by:
      testEnded in interface TestStateListener
      See Also:
    • testStarted

      public void testStarted(String host)

      Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.

      N.B. testStarted() and testEnded() are called from different threads.

      Specified by:
      testStarted in interface TestStateListener
      Parameters:
      host - name of host
      See Also:
    • testEnded

      public void testEnded(String host)

      Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.

      N.B. testStarted() and testEnded() are called from different threads.

      Specified by:
      testEnded in interface TestStateListener
      Parameters:
      host - name of host
      See Also:
    • testIterationStart

      public void testIterationStart(LoopIterationEvent event)
      Each time through a Thread Group's test script, an iteration event is fired for each thread. This will be after the test elements have been cloned, so in general the instance will not be the same as the ones the start/end methods call.
      Specified by:
      testIterationStart in interface TestIterationListener
      Parameters:
      event - the iteration event