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. Now uses Commons HttpClient parsing and matching code (since 2.1.2)- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description 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
Constructors Constructor Description CookieManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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()
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
-
-
-
-
Method Detail
-
clone
public Object clone()
- Specified by:
clone
in interfaceConfigElement
- Specified by:
clone
in interfaceTestElement
- Overrides:
clone
in classAbstractTestElement
-
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.
- Parameters:
authFile
- name of the file to store the cookies into. If the name is relative, the system propertyuser.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 propertyuser.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 interfaceTestElement
- Overrides:
recoverRunningVersion
in classAbstractTestElement
-
setRunningVersion
public void setRunningVersion(boolean running)
Sets the runningVersion.- Specified by:
setRunningVersion
in interfaceTestElement
- Overrides:
setRunningVersion
in classAbstractTestElement
- 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 interfaceTestElement
- Overrides:
clear
in classAbstractTestElement
-
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: ").
-
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 interfaceTestStateListener
- 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 interfaceTestStateListener
- 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 interfaceTestStateListener
- 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 interfaceTestStateListener
- 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 interfaceTestIterationListener
- Parameters:
event
- the iteration event
-
-