SleepTest (Apache JMeter dist API)
Description: declaration: package: org.apache.jmeter.protocol.java.test, class: SleepTest

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

# Class SleepTest

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

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

@AutoService(JavaSamplerClient.class) public class SleepTest extends AbstractJavaSamplerClient implements Serializable, Interruptible
The `SleepTest` class is a simple example class for a JMeter Java protocol client. The class implements the `JavaSamplerClient` interface.

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

     totalSleepTime = SleepTime + (System.currentTimeMillis() % SleepMask)

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

See Also:
  - Serialized Form

- ## Constructor Summary

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

- ## 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.
  `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`

- ## Constructor Details

  - ### SleepTest

    public SleepTest()
    Default constructor for `SleepTest`. 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. In this case, initialization consists of getting the values of the SleepTime and SleepMask parameters. It is generally recommended to do any initialization such as getting parameter values in the setupTest method rather than the runTest method in order to add as little overhead as possible to the test.
    Specified by:
      `setupTest` in interface `JavaSamplerClient`
    Overrides:
      `setupTest` in class `AbstractJavaSamplerClient`
    Parameters:
      `context` - the context to run with. This provides access to initialization parameters.

  - ### runTest

    public SampleResult runTest(JavaSamplerContext context)
    Perform a single sample. In this case, this method will simply sleep for some amount of time. Perform a single sample for each iteration. This method returns a `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.
    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)`

  - ### 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.

  - ### 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.