JMESPathAssertion (Apache JMeter dist API)
Description: declaration: package: org.apache.jmeter.assertions.jmespath, class: JMESPathAssertion

Package org.apache.jmeter.assertions.jmespath

# Class JMESPathAssertion

java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.assertions.jmespath.JMESPathAssertion

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Assertion`, `Searchable`, `org.apache.jmeter.testelement.TestElement`, `TestStateListener`

public class JMESPathAssertion extends AbstractTestElement implements Serializable, Assertion, TestStateListener
This is main class for JSON JMESPath Assertion which verifies assertion on previous sample result using JMESPath expression JMESPath-java sources and doc.

Since:
  5.2
See Also:
  - JMESPath website
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface org.apache.jmeter.testelement.TestElement

  `org.apache.jmeter.testelement.TestElement.Companion`

- ## Field Summary

  ### Fields inherited from interface org.apache.jmeter.testelement.TestElement

  `COMMENTS, Companion, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JMESPathAssertion()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getExpectedValue()`
  `String`
  `getJmesPath()`
  `AssertionResult`
  `getResult(SampleResult samplerResult)`
  Returns the AssertionResult object encapsulating information about the success or failure of the assertion.
  `boolean`
  `isExpectNull()`
  `boolean`
  `isInvert()`
  `boolean`
  `isJsonValidationBool()`
  `boolean`
  `isUseRegex()`
  `static String`
  `objectToString(com.fasterxml.jackson.databind.ObjectMapper mapper, com.fasterxml.jackson.databind.JsonNode element)`
  `void`
  `setExpectedValue(String expectedValue)`
  `void`
  `setExpectNull(boolean val)`
  `void`
  `setInvert(boolean invert)`
  `void`
  `setIsRegex(boolean flag)`
  `void`
  `setJmesPath(String jmesPath)`
  `void`
  `setJsonValidationBool(boolean jsonValidation)`
  `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`
  `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.

  ### Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement

  `addPropertiesValues, addProperty, addProperty, addTestElement, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getPropertyOrNull, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty`

  ### Methods inherited from class java.lang.Object

  `finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.apache.jmeter.testelement.TestElement

  `get, get, get, get, get, get, get, get, get, getOrCreate, getOrCreate, getOrNull, getOrNull, getOrNull, getPropertyOrNull, getProps, getSchema, getString, removed, removeProperty, set, set, set, set, set, set, set, set, set`

- ## Constructor Details

  - ### JMESPathAssertion

    public JMESPathAssertion()

- ## Method Details

  - ### getResult

    public AssertionResult getResult(SampleResult samplerResult)
    Description copied from interface: `Assertion`
    Returns the AssertionResult object encapsulating information about the success or failure of the assertion.
    Specified by:
      `getResult` in interface `Assertion`
    Parameters:
      `samplerResult` - the SampleResult containing information about the Sample (duration, success, etc)
    Returns:
      the AssertionResult containing the information about whether the assertion passed or failed.

  - ### objectToString

    public static String objectToString(com.fasterxml.jackson.databind.ObjectMapper mapper, com.fasterxml.jackson.databind.JsonNode element) throws com.fasterxml.jackson.core.JsonProcessingException
    Throws:
      `com.fasterxml.jackson.core.JsonProcessingException`

  - ### testStarted

    public void testStarted()
    Description copied from interface: `TestStateListener`

    Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.

    N.B. testStarted() and testEnded() are called from different threads.

    Specified by:
      `testStarted` in interface `TestStateListener`
    See Also:
      - `StandardJMeterEngine.run()`

  - ### testStarted

    public void testStarted(String host)
    Description copied from interface: `TestStateListener`

    Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.

    N.B. testStarted() and testEnded() are called from different threads.

    Specified by:
      `testStarted` in interface `TestStateListener`
    Parameters:
      `host` - name of host
    See Also:
      - `StandardJMeterEngine.run()`

  - ### testEnded

    public void testEnded()
    Description copied from interface: `TestStateListener`

    Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.

    N.B. testStarted() and testEnded() are called from different threads.

    Specified by:
      `testEnded` in interface `TestStateListener`
    See Also:
      - `StandardJMeterEngine.stopTest()`

  - ### testEnded

    public void testEnded(String host)
    Description copied from interface: `TestStateListener`

    Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.

    N.B. testStarted() and testEnded() are called from different threads.

    Specified by:
      `testEnded` in interface `TestStateListener`
    Parameters:
      `host` - name of host
    See Also:
      - `StandardJMeterEngine.stopTest()`

  - ### getJmesPath

    public String getJmesPath()

  - ### setJmesPath

    public void setJmesPath(String jmesPath)

  - ### getExpectedValue

    public String getExpectedValue()

  - ### setExpectedValue

    public void setExpectedValue(String expectedValue)

  - ### setJsonValidationBool

    public void setJsonValidationBool(boolean jsonValidation)

  - ### setExpectNull

    public void setExpectNull(boolean val)

  - ### isExpectNull

    public boolean isExpectNull()

  - ### isJsonValidationBool

    public boolean isJsonValidationBool()

  - ### setInvert

    public void setInvert(boolean invert)

  - ### isInvert

    public boolean isInvert()

  - ### setIsRegex

    public void setIsRegex(boolean flag)

  - ### isUseRegex

    public boolean isUseRegex()