org.apache.jmeter.protocol.http.control

## Class CookieManager

- java.lang.Object
- - org.apache.jmeter.testelement.AbstractTestElement
  - - org.apache.jmeter.config.ConfigTestElement
    - - org.apache.jmeter.protocol.http.control.CookieManager

- All Implemented Interfaces:
    Serializable, Cloneable, ConfigElement, Searchable, 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:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.apache.jmeter.config.ConfigTestElement

      `PASSWORD, USERNAME`

    - ### Fields inherited from interface org.apache.jmeter.testelement.TestElement

      `COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CookieManager()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(Cookie c)` Add a cookie.
    `void` | `addCookieFromHeader(String cookieHeader, URL url)`
    `void` | `addFile(String cookieFile)` Add cookie data from a file.
    `void` | `clear()` Clear the TestElement of all data.
    `Object` | `clone()`
    `Cookie` | `get(int i)` Return the cookie at index i.
    `boolean` | `getClearEachIteration()`
    `boolean` | `getControlledByThread()`
    `int` | `getCookieCount()`
    `String` | `getCookieHeaderForURL(URL url)` Find cookies applicable to the given URL and build the Cookie header from them.
    `CollectionProperty` | `getCookies()`
    `String` | `getImplementation()`
    `String` | `getPolicy()`
    `void` | `recoverRunningVersion()` Tells the test element to return to the state it was in when setRunningVersion(true) was called.
    `void` | `remove(int index)` Remove a cookie.
    `void` | `save(String authFile)` Save the static cookie data to a file.
    `void` | `setClearEachIteration(boolean clear)`
    `void` | `setControlledByThread(boolean control)`
    `void` | `setCookiePolicy(String policy)`
    `void` | `setImplementation(String implementation)`
    `void` | `setRunningVersion(boolean running)` Sets the runningVersion.
    `void` | `testEnded()` Called once for all threads after the end of a test.
    `void` | `testEnded(String host)` Called once for all threads after the end of a test.
    `void` | `testIterationStart(LoopIterationEvent event)` Each time through a Thread Group's test script, an iteration event is fired for each thread.
    `void` | `testStarted()` Called just before the start of the test from the main engine thread.
    `void` | `testStarted(String host)` Called just before the start of the test from the main engine thread.

    - ### Methods inherited from class org.apache.jmeter.config.ConfigTestElement

      `addConfigElement, addTestElement, expectsModification`

    - ### Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement

      `addPropertiesValues, addProperty, addProperty, canRemove, clearTemporary, clearTestElementChildren, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.jmeter.testelement.TestElement

      `removed`

- - ### Constructor Detail

    - #### CookieManager

          public CookieManager()

  - ### Method Detail

    - #### clone

          public Object clone()

      Specified by:
        `clone` in interface `ConfigElement`
      Specified by:
        `clone` in interface `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()

      Tells the test element to return to the state it was in when setRunningVersion(true) was called.
      Specified by:
        `recoverRunningVersion` in interface `TestElement`
      Overrides:
        `recoverRunningVersion` in class `AbstractTestElement`

    - #### setRunningVersion

          public void setRunningVersion(boolean running)

      Sets the runningVersion.
      Specified by:
        `setRunningVersion` in interface `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()

      Clear the TestElement of all data.
      Specified by:
        `clear` in interface `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:
        `StandardJMeterEngine.run()`

    - #### 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:
        `StandardJMeterEngine.stopTest()`

    - #### 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:
        `StandardJMeterEngine.run()`

    - #### 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:
        `StandardJMeterEngine.stopTest()`

    - #### 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

Copyright © 1998-2021 Apache Software Foundation. All Rights Reserved.