Applies to ReadyAPI 3.3.2, last modified on September 18, 2020

The JSONPath Existence Match assertion uses a JSONPath expression to select content from the target property and check whether it exists.

The JSONPath expression in this assertion returns a Boolean value. To compare a value with the specific content, use the JSONPath Match assertion.

This assertion applies only to requests and responses, bodies of which contain JSON data.

To learn more about the JSONPath syntax, see JSONPath Reference.

Availability

This assertion is available in multiple ReadyAPI applications. Depending on the application, it validates the following data:

In... Checks... To learn more...
SoapUIĀ functional tests The request or response body. See Working With Assertions in SoapUI.
SoapUIĀ security tests The response body. See Security Assertions.
ServiceV The request body. See Assertions in ServiceV.

Create an assertion

Follow these steps:

SoapUI: The Assertions panel

Click the image to enlarge it.

  1. Open a test step.

  2. Click Add assertion.

In the New Assertions dialog, search for the JSONPath Existence Match assertion or select it manually in the Property Content category.

Follow these steps:

Secure: The Assertions panel

Click the image to enlarge it.

  1. Open a security test.

  2. Click Response Assertion next to any scan.

  3. Click in the Assertions panel

In the New Assertions dialog, search for the JSONPath Existence Match assertion or select it manually in the Property Content category.

Follow these steps:

ServiceV: The Assertions panel

Click the image to enlarge it.

  1. Open a virtual service.

  2. Open the Assertions drop-down panel.

  3. Click in the Assertions panel

In the New Assertions dialog, search for the JSONPath Existence Match assertion or select it manually in the Property Content category.

Setting up properties

  1. In the JSONPath Expression edit box, specify the JSONPath expression to point at the element you want to check for existence, or use the toolbar controls to create the expression automatically.

    To use the toolbar controls, run the request you want to validate at least once.
    ReadyAPI: Configuring the JSONPath Existence Match assertion

    Click the image to enlarge it.

    Click Select node to call the Select JSON dialog. Use it to select a node from the last request or response and create a JSON path expression for this node.

  2. In the Expected Result edit box, specify the value you are expecting to get.

    Use these commands to visually select the value from the existing request or response:

    Option Description
    Select Content Add a property expansion in the result.
    Select from Current Get a value from the last response you have received (or the last request the ServiceV virtual service has received).
  3. To command the assertion to use an asterisk wildcard (*) for varying parts of the value, select Allow Wildcards.

    Note: If you do not select this option, the assertion will fail on dynamic values.
  4. To test your assertion on the last response you have received (or the last request the ServiceV virtual service has received), click Test.

Tips

To avoid typing the desired JSONPath expression manually, click Select node and select the desired JSON element or attribute in the subsequent dialog.

ReadyAPI: Selecting an element for JSONPath expression

ReadyAPI will form the JSONPath expression that refers the selected item, and will set the result from the last request or response as the expected result.

  • The following JSONPath expression checks whether there are text subelements in the widget element:

    $.widget.text
  • The following JSONPath expression checks whether there are any subelements in the widget element:

    $.widget.*
  • The following JSONPath expression checks whether there are any text subelements of the header type in the widget element:

    $.widget.text[?(@.type=='header')]

Add more assertions that use JSONPath expressions:

See Also

Property Content Assertions
JSONPath Count Assertion
JSONPath RegEx Match Assertion
JSONPath Match Assertion

Highlight search results