Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
From vREST 1.3.1, variables having numeric values used in expected body (JSON Format), must be enclosed with double quotes
  • .
  • From vREST 2.0.0, we have removed the JSON Path prefix `$.` or `$`.
  • Let us take an example, how we can extract a variable from API response:

    • Suppose we have an API which creates resource on server and returns the following JSON response:

    Excerpt

    Variables can be extracted from Test Case's responses and can be used in subsequent HTTP requests (test cases). To extract the variable's values from test case's actual results, please follow the steps below:

    • Expand the test case from which you want to extract variables
    • Go to "Variable Extractor" sub tab
    • Define the variable's name and their corresponding path in the JSON response
       
    Note
    titleNotes
    Code Block
    themeConfluence
    languagejs
    {
      "id": "54a79b704cba8d5328d087f5",
      "resource_name": "testcase",
      "resource_url": "http://vrest.io/i/demo/m/RVD/create_resource",
      "resource_description": "This API creates a resource on the server",
      "meta": {
    	"created_at": "2015-01-03T07:41:21.000Z"
      }
    }
  • Now, we want to save the id of newly created resource into variable say "resourceId" and creation time into variable say  "resourceCreatedAt". We can extract these variables in the following way:


     
     Few points regarding writing Path in the above table:
    • Each individual property value can be extracted via JSON path notation e.g. `id` or `meta.created_id`
    • For more information, read JSON Path syntax.
  • Now we can use these extracted variables in subsequent requests. Note that once a variable is defined, it can be used in all subsequent requests within that test run only. If you want to override this variable, simply re-define the variable in any request.

    Suppose we have an API which updates this newly created resource and it needs the ID of the resource to update. We can use the {{resourceId}} variable (extracted in previous step) in the URL as shown in the following figure:

     

  • Note
    titleNotes
    • Variable extraction feature is only applicable for JSON / XML responses at present using JSON / XML path.
    • For defining JSON path, follow the guide.
    • For defining XML path, follow the guide.
    • If you want to extract variables from responses other than JSON/XML, then you need to write your own utility method to extract data from either response body or response headers. For more information on this, please read this doc (Extracting variable via Utility Methods).