Package org.apache.jmeter.protocol.java.test

# Class JavaTest

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

All Implemented Interfaces:
  `Serializable`, `JavaSamplerClient`, `Interruptible`

@AutoService(JavaSamplerClient.class) public class JavaTest extends AbstractJavaSamplerClient implements Serializable, Interruptible
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.
  `boolean`
  `interrupt()`
  Interrupt the current operation if possible.
  `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 org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient

  `getNewLogger, teardownTest`

  ### Methods inherited from class java.lang.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)`

  - ### interrupt

    public boolean interrupt()
    Description copied from interface: `Interruptible`
    Interrupt the current operation if possible.
    Specified by:
      `interrupt` in interface `Interruptible`
    Returns:
      `true` if there was an operation to interrupt.