Apache JMeter

## 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, TestElement, TestListener

    public class CookieManager

extends ConfigTestElement
implements TestListener, Serializable

This class provides an interface to the netscape cookies file to pass cookies along with a request. Now uses Commons HttpClient parsing and matching code (since 2.1.2)

See Also:
  Serialized Form

Field Summary
`static String` `DEFAULT_POLICY`

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
`CookieManager()`

Method Summary
`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()`
`int` `getCookieCount()`
`String` `getCookieHeaderForURL(URL url)` Find cookies applicable to the given URL and build the Cookie header from them.
`CollectionProperty` `getCookies()`
`org.apache.commons.httpclient.Cookie[]` `getCookiesForUrl(URL url)` Get array of valid HttpClient cookies for the URL
`String` `getPolicy()`
`void` `recoverRunningVersion()` Tells the test element to return to the state it was in when makeRunningVersion() 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` `setCookiePolicy(String policy)`
`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

`addProperty, canRemove, clearTemporary, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, removeProperty, setComment, setName, 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`

Field Detail

### DEFAULT_POLICY

    public static final String DEFAULT_POLICY

See Also:
  Constant Field Values

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)

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

  Throws:
    `IOException`

### addFile

    public void addFile(String cookieFile)
                 throws IOException

  Add cookie data from a file.

  Throws:
    `IOException`

### recoverRunningVersion

    public void recoverRunningVersion()

  Tells the test element to return to the state it was in when makeRunningVersion() 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.

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

### get

    public Cookie get(int i)

  Return the cookie at index i.

### getCookiesForUrl

    public org.apache.commons.httpclient.Cookie[] getCookiesForUrl(URL url)

  Get array of valid HttpClient cookies for the URL

  Parameters:
    `url` - the target URL
  Returns:
    array of HttpClient cookies

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

Apache JMeter

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