# Class JavaTest

java.lang.Object
org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient
org.apache.jmeter.protocol.java.test.JavaTest

All Implemented Interfaces:
  `Serializable, JavaSamplerClient`

public class JavaTest extends AbstractJavaSamplerClient implements Serializable
The `JavaTest` class is a simple sampler which is intended for use when developing test plans. The sampler generates results internally, so does not need access to any external resources such as web, ftp or LDAP servers. In addition, because the exact values of most of the SampleResult can be directly set, it is possible to easily test most Assertions that use the sample results.

During each sample, this client will sleep for some amount of time. The amount of time to sleep is determined from the two parameters Sleep_Time and Sleep_Mask using the formula:

    totalSleepTime = Sleep_Time + (System.currentTimeMillis() % Sleep_Mask)

Thus, the Sleep_Mask provides a way to add a random component to the sleep time.

The sampler is able to define the precise values of:

     - responseCode
     - responseMessage
     - Label
     - success/fail status

The elapsed time and end-time cannot be directly controlled.

Note: this class was derived from `SleepTest`.

See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final long`
`DEFAULT_SLEEP_MASK`
The default value of the SleepMask parameter.
`static final long`
`DEFAULT_SLEEP_TIME`
The default value of the SleepTime parameter, in milliseconds.

## Constructor Summary

Constructors
Constructor
Description
`JavaTest()`
Default constructor for `JavaTest`.

## Method Summary

Modifier and Type
Method
Description
`Arguments`
`getDefaultParameters()`
Provide a list of parameters which this test supports.
`SampleResult`
`runTest(JavaSamplerContext context)`
Perform a single sample.
In this case, this method will simply sleep for some amount of time.
`void`
`setupTest(JavaSamplerContext context)`
Do any initialization required by this client.

### Methods inherited from class AbstractJavaSamplerClient

`getLogger, teardownTest`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### DEFAULT_SLEEP_TIME

public static final long DEFAULT_SLEEP_TIME
The default value of the SleepTime parameter, in milliseconds.

See Also:
  - Constant Field Values

### DEFAULT_SLEEP_MASK

public static final long DEFAULT_SLEEP_MASK
The default value of the SleepMask parameter.

See Also:
  - Constant Field Values

## Constructor Details

### JavaTest

public JavaTest()
Default constructor for `JavaTest`. The Java Sampler uses the default constructor to instantiate an instance of the client class.

## Method Details

### setupTest

public void setupTest(JavaSamplerContext context)
Do any initialization required by this client. There is none, as it is done in runTest() in order to be able to vary the data for each sample.

Specified by:
  `setupTest` in interface `JavaSamplerClient`
Overrides:
  `setupTest` in class `AbstractJavaSamplerClient`
Parameters:
  `context` - the context to run with. This provides access to initialization parameters.

### getDefaultParameters

public Arguments getDefaultParameters()
Provide a list of parameters which this test supports. Any parameter names and associated values returned by this method will appear in the GUI by default so the user doesn't have to remember the exact names. The user can add other parameters which are not listed here. If this method returns null then no parameters will be listed. If the value for some parameter is null then that parameter will be listed in the GUI with an empty value.

Specified by:
  `getDefaultParameters` in interface `JavaSamplerClient`
Overrides:
  `getDefaultParameters` in class `AbstractJavaSamplerClient`
Returns:
  a specification of the parameters used by this test which should be listed in the GUI, or null if no parameters should be listed.

### runTest

public SampleResult runTest(JavaSamplerContext context)
Perform a single sample.
In this case, this method will simply sleep for some amount of time. This method returns a `SampleResult` object.

     The following fields are always set:
     - responseCode (default "")
     - responseMessage (default "")
     - label (set from LABEL_NAME parameter if it exists, else element name)
     - success (default true)

The following fields are set from the user-defined parameters, if supplied:

    -samplerData - responseData

Specified by:
  `runTest` in interface `JavaSamplerClient`
Parameters:
  `context` - the context to run with. This provides access to initialization parameters.
Returns:
  a SampleResult giving the results of this sample.
See Also:
  - `SampleResult.sampleStart()`
  - `SampleResult.sampleEnd()`
  - `SampleResult.setSuccessful(boolean)`
  - `SampleResult.setSampleLabel(String)`
  - `SampleResult.setResponseCode(String)`
  - `SampleResult.setResponseMessage(String)`
  - `SampleResult.setResponseData(byte [])`
  - `SampleResult.setDataType(String)`