|
Apache JMeter 2.0.1.20050615 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
This interface defines the interactions between the JavaSampler and external Java programs which can be executed by JMeter. Any Java class which wants to be executed as a JMeter test must implement this interface (either directly or indirectly through AbstractJavaSamplerClient).
JMeter will create one instance of a JavaSamplerClient implementation for each user/thread in the test. Additional instances may be created for internal use by JMeter (for example, to find out what parameters are supported by the client).
When the test is started, setupTest() will be called on each thread's JavaSamplerClient instance to initialize the client. Then runTest() will be called for each iteration of the test. Finally, teardownTest() will be called to allow the client to do any necessary clean-up.
The JMeter JavaSampler GUI allows a list of parameters to be
defined for the test. These are passed to the various test
methods through the JavaSamplerContext
. A list of default
parameters can be defined through the getDefaultParameters()
method. These parameters and any default values associated
with them will be shown in the GUI. Users can add other
parameters as well.
When possible, Java tests should extend AbstractJavaSamplerClient
rather than implementing JavaSamplerClient
directly. This should protect your tests from future changes to the
interface. While it may be necessary to make changes to the
JavaSamplerClient interface from time to time (therefore requiring changes
to any implementations of this interface), we intend to make this abstract
class provide reasonable default implementations of any new methods so that
subclasses do not necessarily need to be updated for new versions.
Implementing JavaSamplerClient directly will continue to be
supported for cases where extending this class is not possible
(for example, when the client class is already a subclass of some
other class).
See SleepTest
for an
example of how to implement this interface.
Method Summary | |
Arguments |
getDefaultParameters()
Provide a list of parameters which this test supports. |
SampleResult |
runTest(JavaSamplerContext context)
Perform a single sample for each iteration. |
void |
setupTest(JavaSamplerContext context)
Do any initialization required by this client. |
void |
teardownTest(JavaSamplerContext context)
Do any clean-up required by this test at the end of a test run. |
Method Detail |
public void setupTest(JavaSamplerContext context)
context
- the context to run with. This provides access
to initialization parameters.public SampleResult runTest(JavaSamplerContext context)
SampleResult
object.
SampleResult
has many fields which can be
used. At a minimum, the test should use
SampleResult.sampleStart
and
SampleResult.sampleEnd
to set the time that
the test required to execute. It is also a good idea to
set the sampleLabel and the successful flag.
context
- the context to run with. This provides access
to initialization parameters.
SampleResult.sampleStart()
,
SampleResult.sampleEnd()
,
SampleResult.setSuccessful(boolean)
,
SampleResult.setSampleLabel(String)
public void teardownTest(JavaSamplerContext context)
context
- the context to run with. This provides access
to initialization parameters.public Arguments getDefaultParameters()
|
Apache JMeter 2.0.1.20050615 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |