Apache JMeter

org.apache.jmeter.protocol.http.control
Class CookieManager

java.lang.Object
  extended by org.apache.jmeter.testelement.AbstractTestElement
      extended by org.apache.jmeter.config.ConfigTestElement
          extended by 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. Now uses Commons HttpClient parsing and matching code (since 2.1.2)

See Also:
Serialized Form

Field Summary
static String DEFAULT_IMPLEMENTATION
           
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()
           
 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 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
 

Field Detail

DEFAULT_POLICY

public static final String DEFAULT_POLICY
See Also:
Constant Field Values

DEFAULT_IMPLEMENTATION

public static final String DEFAULT_IMPLEMENTATION
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)

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.

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


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.


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

Apache JMeter

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