|
Apache JMeter | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.samplers.AbstractSampler
org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase
Common constants and methods for HTTP samplers
Fields inherited from interface org.apache.jmeter.testelement.TestElement |
ENABLED, GUI_CLASS, NAME, TEST_CLASS |
Constructor Summary | |
HTTPSamplerBase()
|
Method Summary | |
void |
addArgument(String name,
String value)
|
void |
addArgument(String name,
String value,
String metadata)
|
void |
addEncodedArgument(String name,
String value)
Add an argument which has already been encoded |
void |
addEncodedArgument(String name,
String value,
String metaData)
|
void |
addEncodedArgument(String name,
String value,
String metaData,
String contentEncoding)
|
void |
addNonEncodedArgument(String name,
String value,
String metadata)
|
void |
addTestElement(TestElement el)
|
Object |
clone()
|
protected HTTPSampleResult |
downloadPageResources(HTTPSampleResult res,
HTTPSampleResult container,
int frameDepth)
Download the resources of an HTML page. |
protected static String |
encodeBackSlashes(String value)
|
protected String |
encodeSpaces(String path)
|
protected HTTPSampleResult |
errorResult(Throwable e,
HTTPSampleResult res)
Obtain a result that will help inform the user that an error has occured during sampling, and how long it took to detect the error. |
protected HTTPSampleResult |
followRedirects(HTTPSampleResult res,
int frameDepth)
Iteratively download the redirect targets of a redirect response. |
Arguments |
getArguments()
|
AuthManager |
getAuthManager()
|
boolean |
getAutoRedirects()
|
String |
getContentEncoding()
|
CookieManager |
getCookieManager()
|
static int |
getDefaultPort(String protocol,
int port)
|
String |
getDomain()
|
boolean |
getDoMultipartPost()
|
String |
getEmbeddedUrlRE()
Get the regular expression URLs must match. |
String |
getFileField()
The name parameter to be applied to the file |
String |
getFilename()
The actual name of the file to POST |
boolean |
getFollowRedirects()
|
HeaderManager |
getHeaderManager()
|
String |
getImplementation()
|
String |
getMethod()
|
String |
getMimetype()
|
String |
getMonitor()
|
String |
getPath()
|
int |
getPort()
|
String |
getProtocol()
|
String |
getQueryString()
Gets the QueryString attribute of the UrlConfig object, using UTF-8 to encode the URL |
String |
getQueryString(String contentEncoding)
Gets the QueryString attribute of the UrlConfig object, using the specified encoding to encode the parameter values put into the URL |
boolean |
getSendFileAsPostBody()
Determine if the file should be sent as the entire Post body, i.e. without any additional wrapping |
boolean |
getSendParameterValuesAsPostBody()
Determine if none of the parameters have a name, and if that is the case, it means that the parameter values should be sent as the post body |
URL |
getUrl()
Get the URL, built from its component parts. |
boolean |
getUseKeepAlive()
|
boolean |
getUseMultipartForPost()
Determine if we should use multipart/form-data or application/x-www-form-urlencoded for the post |
static String[] |
getValidMethodsAsArray()
|
protected boolean |
hasUploadableFiles()
Method to tell if the request has any files to be uploaded |
boolean |
isImageParser()
|
boolean |
isMonitor()
|
boolean |
isProtocolDefaultPort()
Tell whether the default port for the specified protocol is used |
static boolean |
isSecure(String protocol)
|
static boolean |
isSecure(URL url)
|
protected boolean |
isSuccessCode(int code)
Determine if the HTTP status code is successful or not i.e. in range 200 to 399 inclusive |
void |
parseArguments(String queryString)
|
void |
parseArguments(String queryString,
String contentEncoding)
This method allows a proxy server to send over the raw text from a browser's output stream to be parsed and stored correctly into the UrlConfig object. |
protected HTTPSampleResult |
resultProcessing(boolean areFollowingRedirect,
int frameDepth,
HTTPSampleResult res)
Follow redirects and download page resources if appropriate. this works, but the container stuff here is what's doing it. followRedirects() is actually doing the work to make sure we have only one container to make this work more naturally, I think this method - sample() - needs to take an HTTPSamplerResult container parameter instead of a boolean:areFollowingRedirect. |
SampleResult |
sample()
Perform a sample, and return the results |
SampleResult |
sample(Entry e)
Do a sampling and return its results. |
protected abstract HTTPSampleResult |
sample(URL u,
String method,
boolean areFollowingRedirect,
int depth)
Samples the URL passed in and stores the result in HTTPSampleResult , following redirects and downloading
page resources as appropriate.
|
void |
setArguments(Arguments value)
|
void |
setAuthManager(AuthManager value)
|
void |
setAutoRedirects(boolean value)
|
void |
setContentEncoding(String value)
|
void |
setCookieManager(CookieManager value)
|
void |
setDomain(String value)
|
void |
setDoMultipartPost(boolean value)
|
void |
setEmbeddedUrlRE(String regex)
|
void |
setFileField(String value)
The name parameter to be applied to the file |
void |
setFilename(String value)
The actual name of the file to POST |
void |
setFollowRedirects(boolean value)
|
void |
setHeaderManager(HeaderManager value)
|
void |
setImageParser(boolean parseImages)
|
void |
setImplementation(String value)
|
void |
setMethod(String value)
|
void |
setMimetype(String value)
|
void |
setMonitor(boolean truth)
|
void |
setMonitor(String value)
|
void |
setPath(String path)
Sets the Path attribute of the UrlConfig object Also calls parseArguments to extract and store any query arguments |
void |
setPath(String path,
String contentEncoding)
Sets the Path attribute of the UrlConfig object Also calls parseArguments to extract and store any query arguments |
void |
setPort(int value)
|
void |
setProtocol(String value)
|
void |
setUseKeepAlive(boolean value)
|
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. |
void |
threadFinished()
Called once for each thread at the end of a test |
void |
threadStarted()
Called just before the start of the thread |
String |
toString()
|
Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement |
addProperty, canRemove, clear, clearTemporary, emptyTemporary, equals, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, nextIsNull, propertyIterator, recoverRunningVersion, removeProperty, setName, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.apache.jmeter.testelement.TestElement |
canRemove, clear, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removeProperty, setName, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse |
Field Detail |
public static final int DEFAULT_HTTPS_PORT
public static final int DEFAULT_HTTP_PORT
public static final String DEFAULT_HTTP_PORT_STRING
public static final String ARGUMENTS
public static final String AUTH_MANAGER
public static final String COOKIE_MANAGER
public static final String HEADER_MANAGER
public static final String MIMETYPE
public static final String DOMAIN
public static final String PORT
public static final String METHOD
public static final String CONTENT_ENCODING
public static final String IMPLEMENTATION
public static final String PATH
public static final String FOLLOW_REDIRECTS
public static final String AUTO_REDIRECTS
public static final String PROTOCOL
public static final String PROTOCOL_HTTP
public static final String PROTOCOL_HTTPS
public static final String DEFAULT_PROTOCOL
public static final String URL
public static final String HEAD
public static final String POST
public static final String PUT
public static final String GET
public static final String OPTIONS
public static final String TRACE
public static final String DELETE
public static final String DEFAULT_METHOD
public static final List METHODLIST
public static final String USE_KEEPALIVE
public static final String FILE_NAME
public static final String DO_MULTIPART_POST
public static final String FILE_FIELD
public static final String FILE_DATA
public static final String FILE_MIMETYPE
public static final String CONTENT_TYPE
public static final String NORMAL_FORM
public static final String MULTIPART_FORM
public static final String IMAGE_PARSER
public static final String EMBEDDED_URL_RE
public static final String MONITOR
public static final int UNSPECIFIED_PORT
public static final String UNSPECIFIED_PORT_AS_STRING
protected static final String NON_HTTP_RESPONSE_CODE
protected static final String NON_HTTP_RESPONSE_MESSAGE
protected static final int MAX_REDIRECTS
protected static final int MAX_FRAME_DEPTH
protected static final String HEADER_AUTHORIZATION
protected static final String HEADER_COOKIE
protected static final String HEADER_CONNECTION
protected static final String CONNECTION_CLOSE
protected static final String KEEP_ALIVE
protected static final String TRANSFER_ENCODING
protected static final String HEADER_CONTENT_ENCODING
protected static final String HTTP_1_1
protected static final String HEADER_SET_COOKIE
protected static final String ENCODING_GZIP
protected static final String HEADER_CONTENT_DISPOSITION
protected static final String HEADER_CONTENT_TYPE
protected static final String HEADER_CONTENT_LENGTH
protected static final String HEADER_LOCATION
public static final String APPLICATION_X_WWW_FORM_URLENCODED
public static final String MULTIPART_FORM_DATA
Constructor Detail |
public HTTPSamplerBase()
Method Detail |
public void setFileField(String value)
public String getFileField()
public void setFilename(String value)
public String getFilename()
public boolean getSendFileAsPostBody()
public boolean getSendParameterValuesAsPostBody()
public boolean getUseMultipartForPost()
public void setProtocol(String value)
public String getProtocol()
public void setPath(String path)
path
- The new Path valuepublic void setPath(String path, String contentEncoding)
path
- The new Path valuecontentEncoding
- The encoding used for the querystring parameter valuespublic String getPath()
public void setFollowRedirects(boolean value)
public boolean getFollowRedirects()
public void setAutoRedirects(boolean value)
public boolean getAutoRedirects()
public void setMethod(String value)
public String getMethod()
public void setContentEncoding(String value)
public String getContentEncoding()
public void setUseKeepAlive(boolean value)
public boolean getUseKeepAlive()
public void setDoMultipartPost(boolean value)
public boolean getDoMultipartPost()
public void setMonitor(String value)
public void setMonitor(boolean truth)
public String getMonitor()
public boolean isMonitor()
public void setImplementation(String value)
public String getImplementation()
public void addEncodedArgument(String name, String value)
public void addEncodedArgument(String name, String value, String metaData, String contentEncoding)
public void addEncodedArgument(String name, String value, String metaData)
public void addNonEncodedArgument(String name, String value, String metadata)
public void addArgument(String name, String value)
public void addArgument(String name, String value, String metadata)
public void addTestElement(TestElement el)
addTestElement
in interface TestElement
addTestElement
in class AbstractTestElement
public void setPort(int value)
public static int getDefaultPort(String protocol, int port)
public boolean isProtocolDefaultPort()
public int getPort()
public void setDomain(String value)
public String getDomain()
public void setArguments(Arguments value)
public Arguments getArguments()
public void setAuthManager(AuthManager value)
public AuthManager getAuthManager()
public void setHeaderManager(HeaderManager value)
public HeaderManager getHeaderManager()
public void setCookieManager(CookieManager value)
public CookieManager getCookieManager()
public void setMimetype(String value)
public String getMimetype()
public boolean isImageParser()
public void setImageParser(boolean parseImages)
public String getEmbeddedUrlRE()
public void setEmbeddedUrlRE(String regex)
protected HTTPSampleResult errorResult(Throwable e, HTTPSampleResult res)
e
- Exception representing the error.res
- SampleResult
public URL getUrl() throws MalformedURLException
MalformedURLException
public String getQueryString()
public String getQueryString(String contentEncoding)
contentEncoding
- the encoding to use for encoding parameter values
public void parseArguments(String queryString, String contentEncoding)
queryString
- -
the query stringcontentEncoding
- -
the content encoding of the query string. The query string might
actually be the post body of a http post request.public void parseArguments(String queryString)
public String toString()
public SampleResult sample(Entry e)
sample
in interface Sampler
e
- Entry
to be sampled
public SampleResult sample()
protected abstract HTTPSampleResult sample(URL u, String method, boolean areFollowingRedirect, int depth)
HTTPSampleResult
, following redirects and downloading
page resources as appropriate.
When getting a redirect target, redirects are not followed and resources are not downloaded. The caller will take care of this.
u
- URL to samplemethod
- HTTP method: GET, POST,...areFollowingRedirect
- whether we're getting a redirect targetdepth
- Depth of this target in the frame structure. Used only to
prevent infinite recursion.
protected HTTPSampleResult downloadPageResources(HTTPSampleResult res, HTTPSampleResult container, int frameDepth)
If createContainerResult is true, the returned result will contain one subsample for each request issued, including the original one that was passed in. It will otherwise look exactly like that original one.
If createContainerResult is false, one subsample will be added to the provided result for each requests issued.
res
- result of the initial request - must contain an HTML responsecontainer
- for storing the resultsframeDepth
- Depth of this target in the frame structure. Used only to
prevent infinite recursion.
protected String encodeSpaces(String path)
public void testEnded()
TestListener
testEnded
in interface TestListener
StandardJMeterEngine.stopTest()
public void testEnded(String host)
TestListener
testEnded
in interface TestListener
StandardJMeterEngine.stopTest()
public void testIterationStart(LoopIterationEvent event)
TestListener
testIterationStart
in interface TestListener
event
- public void testStarted()
TestListener
testStarted
in interface TestListener
StandardJMeterEngine.run()
public void testStarted(String host)
TestListener
testStarted
in interface TestListener
StandardJMeterEngine.run()
public Object clone()
clone
in interface TestElement
clone
in class AbstractTestElement
protected HTTPSampleResult followRedirects(HTTPSampleResult res, int frameDepth)
The returned result will contain one subsample for each request issued, including the original one that was passed in. It will be an HTTPSampleResult that should mostly look as if the final destination of the redirect chain had been obtained in a single shot.
res
- result of the initial request - must be a redirect responseframeDepth
- Depth of this target in the frame structure. Used only to
prevent infinite recursion.
protected HTTPSampleResult resultProcessing(boolean areFollowingRedirect, int frameDepth, HTTPSampleResult res)
areFollowingRedirect
- frameDepth
- res
-
protected boolean isSuccessCode(int code)
protected static String encodeBackSlashes(String value)
protected boolean hasUploadableFiles()
public static String[] getValidMethodsAsArray()
public static boolean isSecure(String protocol)
public static boolean isSecure(URL url)
public void threadStarted()
ThreadListener
threadStarted
in interface ThreadListener
org.apache.jmeter.threads.JMeterThread#threadStarted()
public void threadFinished()
ThreadListener
threadFinished
in interface ThreadListener
org.apache.jmeter.threads.JMeterThread#threadFinished()
|
Apache JMeter | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |