Set

Allows you to set a variable for future uses in the test. For example,  you can save a value retrieved from the response and use it in a subsequent call. Parameters:
Name Type/Value Required
Var String Yes
Variable mode ‘String’, ‘Data’, ‘Language’ Yes
Value (depends on ‘Variable mode = string’) String Yes
Data (depends on ‘Variable mode = data’) Data Yes
Lang (depends on ‘Variable mode = language’) ‘Groovy’ Yes
Content (depends on ‘Variable mode = language’) Data Yes
Var: artistId Variable mode: String Value: _1.id
  Var: sobjects Variable mode: Data Data: payload.findAll {it.name == ‘bananas’} Var: queries Variable mode: Language Lang: Groovy Content: if (payload.id>100) return ‘furniture’

Delete

The I/O operations you can do are: GET, POST, PUT, PATCH and DELETE. From the composer, choose ‘Add Component’ and then choose the type of operation you want to do.   Once done, you will have a form to fill up: Parameters:
Name Type/Value Required
Url Url Yes
Variable String Yes
Expect String No
Mode ‘json’,’xml’, ‘html’,’text’ Yes
Params String No
Url: the url of the resource you want to test. It could be the full url of the resource or a string with variables using the $. (i.e. ‘https://domain/resourcename’ or ‘https://${domain}${endpoint}’) Variable: the name of the variable that contains the response. It will be the name you will refer during the test. Expect: it is an optional field and needs to be filled only if the expected behavior differs from a positive response (i.e. 404,500 vs. 200,201 etc.). This is useful when looking to test negative responses and validate error messages.

Possible values are ‘<statusCode>|VALID’ or ‘<statusCode>|INVALID‘. VALID means the payload type is the one selected in the “mode” field (JSON,XML), while INVALID means the opposite. Some examples:
  • 404|VALID : 404 is expected with valid payload
  • 422|VALID : 422 is expected with valid payload
  • 500|INVALID : 500 is expected with invalid payload
Multiple status codes can be expected by adding them all (i.e. 200|302|400|500|VALID) Mode: it’s the type of the response you want to test. Params: the optional list of params you want to add to the query string. To do so, tap on ‘Add parameter’. The params can either be a String value (in that case, the value will always be the same for all the requests; to do so, just put the value in the related field and choose ‘String value’ from the drop down menu) or a Variable (in that case the value will be taken dynamically and could changed from time to time; to do so, put the name of the variable inside the field and choose ‘Variable’ from the drop down menu). Using the above example: let’s say that varName is defined as a boolean value so it can be either ‘true’ or ‘false’, in that case, there will be two requests; the first one will be a GET request to ‘https://mydomain/endpoint?firstParam=paramValue&secondParam=true’, parsing it as ‘json’ and saving it in the ‘payload’ variable; the second one, will be a GET request to ‘https://mydomain/endpoint?firstParam=paramValue&secondParam=false’, parsing it as ‘json’ and saving it in the ‘payload’ variable. When all things are set up, you can confirm it by tapping on the ‘tick’ icon in the top right corner. After that, if you need to add headers, params or a body to the request you can do it by selecting the request and then tapping on the ‘Add component’: all the available components for each operation will be visible.

Config

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Header

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Post Param/Put Param/Patch Param/Delete Param

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Post Body/Put Body/Patch Body/Delete Body

Name Type/Value Required
Content-Type ‘application/json’, ‘text/plain’, ‘application/x-www-form-urlencoded’,’text/xml’ Yes
Content String No
 

Patch

The I/O operations you can do are: GET, POST, PUT, PATCH and DELETE. From the composer, choose ‘Add Component’ and then choose the type of operation you want to do.   Once done, you will have a form to fill up: Parameters:
Name Type/Value Required
Url Url Yes
Variable String Yes
Expect String No
Mode ‘json’,’xml’, ‘html’,’text’ Yes
Params String No
Url: the url of the resource you want to test. It could be the full url of the resource or a string with variables using the $. (i.e. ‘https://domain/resourcename’ or ‘https://${domain}${endpoint}’) Variable: the name of the variable that contains the response. It will be the name you will refer during the test. Expect: it is an optional field and needs to be filled only if the expected behavior differs from a positive response (i.e. 404,500 vs. 200,201 etc.). This is useful when looking to test negative responses and validate error messages.

Possible values are ‘<statusCode>|VALID’ or ‘<statusCode>|INVALID‘. VALID means the payload type is the one selected in the “mode” field (JSON,XML), while INVALID means the opposite. Some examples:
  • 404|VALID : 404 is expected with valid payload
  • 422|VALID : 422 is expected with valid payload
  • 500|INVALID : 500 is expected with invalid payload
Multiple status codes can be expected by adding them all (i.e. 200|302|400|500|VALID) Mode: it’s the type of the response you want to test. Params: the optional list of params you want to add to the query string. To do so, tap on ‘Add parameter’. The params can either be a String value (in that case, the value will always be the same for all the requests; to do so, just put the value in the related field and choose ‘String value’ from the drop down menu) or a Variable (in that case the value will be taken dynamically and could changed from time to time; to do so, put the name of the variable inside the field and choose ‘Variable’ from the drop down menu). Using the above example: let’s say that varName is defined as a boolean value so it can be either ‘true’ or ‘false’, in that case, there will be two requests; the first one will be a GET request to ‘https://mydomain/endpoint?firstParam=paramValue&secondParam=true’, parsing it as ‘json’ and saving it in the ‘payload’ variable; the second one, will be a GET request to ‘https://mydomain/endpoint?firstParam=paramValue&secondParam=false’, parsing it as ‘json’ and saving it in the ‘payload’ variable. When all things are set up, you can confirm it by tapping on the ‘tick’ icon in the top right corner. After that, if you need to add headers, params or a body to the request you can do it by selecting the request and then tapping on the ‘Add component’: all the available components for each operation will be visible.

Config

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Header

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Post Param/Put Param/Patch Param/Delete Param

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Post Body/Put Body/Patch Body/Delete Body

Name Type/Value Required
Content-Type ‘application/json’, ‘text/plain’, ‘application/x-www-form-urlencoded’,’text/xml’ Yes
Content String No
 

Put

The I/O operations you can do are: GET, POST, PUT, PATCH and DELETE. From the composer, choose ‘Add Component’ and then choose the type of operation you want to do.   Once done, you will have a form to fill up: Parameters:
Name Type/Value Required
Url Url Yes
Variable String Yes
Expect String No
Mode ‘json’,’xml’, ‘html’,’text’ Yes
Params String No
Url: the url of the resource you want to test. It could be the full url of the resource or a string with variables using the $. (i.e. ‘https://domain/resourcename’ or ‘https://${domain}${endpoint}’) Variable: the name of the variable that contains the response. It will be the name you will refer during the test. Expect: it is an optional field and needs to be filled only if the expected behavior differs from a positive response (i.e. 404,500 vs. 200,201 etc.). This is useful when looking to test negative responses and validate error messages.

Possible values are ‘<statusCode>|VALID’ or ‘<statusCode>|INVALID‘. VALID means the payload type is the one selected in the “mode” field (JSON,XML), while INVALID means the opposite. Some examples:
  • 404|VALID : 404 is expected with valid payload
  • 422|VALID : 422 is expected with valid payload
  • 500|INVALID : 500 is expected with invalid payload
Multiple status codes can be expected by adding them all (i.e. 200|302|400|500|VALID) Mode: it’s the type of the response you want to test. Params: the optional list of params you want to add to the query string. To do so, tap on ‘Add parameter’. The params can either be a String value (in that case, the value will always be the same for all the requests; to do so, just put the value in the related field and choose ‘String value’ from the drop down menu) or a Variable (in that case the value will be taken dynamically and could changed from time to time; to do so, put the name of the variable inside the field and choose ‘Variable’ from the drop down menu). Using the above example: let’s say that varName is defined as a boolean value so it can be either ‘true’ or ‘false’, in that case, there will be two requests; the first one will be a GET request to ‘https://mydomain/endpoint?firstParam=paramValue&secondParam=true’, parsing it as ‘json’ and saving it in the ‘payload’ variable; the second one, will be a GET request to ‘https://mydomain/endpoint?firstParam=paramValue&secondParam=false’, parsing it as ‘json’ and saving it in the ‘payload’ variable. When all things are set up, you can confirm it by tapping on the ‘tick’ icon in the top right corner. After that, if you need to add headers, params or a body to the request you can do it by selecting the request and then tapping on the ‘Add component’: all the available components for each operation will be visible.

Config

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Header

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Post Param/Put Param/Patch Param/Delete Param

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Post Body/Put Body/Patch Body/Delete Body

Name Type/Value Required
Content-Type ‘application/json’, ‘text/plain’, ‘application/x-www-form-urlencoded’,’text/xml’ Yes
Content String No
 

Post

The I/O operations you can do are: GET, POST, PUT, PATCH and DELETE. From the composer, choose ‘Add Component’ and then choose the type of operation you want to do.   Once done, you will have a form to fill up: Parameters:
Name Type/Value Required
Url Url Yes
Variable String Yes
Expect String No
Mode ‘json’,’xml’, ‘html’,’text’ Yes
Params String No
Url: the url of the resource you want to test. It could be the full url of the resource or a string with variables using the $. (i.e. ‘https://domain/resourcename’ or ‘https://${domain}${endpoint}’) Variable: the name of the variable that contains the response. It will be the name you will refer during the test. Expect: it is an optional field and needs to be filled only if the expected behavior differs from a positive response (i.e. 404,500 vs. 200,201 etc.). This is useful when looking to test negative responses and validate error messages.

Possible values are ‘<statusCode>|VALID’ or ‘<statusCode>|INVALID‘. VALID means the payload type is the one selected in the “mode” field (JSON,XML), while INVALID means the opposite. Some examples:
  • 404|VALID : 404 is expected with valid payload
  • 422|VALID : 422 is expected with valid payload
  • 500|INVALID : 500 is expected with invalid payload
Multiple status codes can be expected by adding them all (i.e. 200|302|400|500|VALID) Mode: it’s the type of the response you want to test. Params: the optional list of params you want to add to the query string. To do so, tap on ‘Add parameter’. The params can either be a String value (in that case, the value will always be the same for all the requests; to do so, just put the value in the related field and choose ‘String value’ from the drop down menu) or a Variable (in that case the value will be taken dynamically and could changed from time to time; to do so, put the name of the variable inside the field and choose ‘Variable’ from the drop down menu). Using the above example: let’s say that varName is defined as a boolean value so it can be either ‘true’ or ‘false’, in that case, there will be two requests; the first one will be a GET request to ‘https://mydomain/endpoint?firstParam=paramValue&secondParam=true’, parsing it as ‘json’ and saving it in the ‘payload’ variable; the second one, will be a GET request to ‘https://mydomain/endpoint?firstParam=paramValue&secondParam=false’, parsing it as ‘json’ and saving it in the ‘payload’ variable. When all things are set up, you can confirm it by tapping on the ‘tick’ icon in the top right corner. After that, if you need to add headers, params or a body to the request you can do it by selecting the request and then tapping on the ‘Add component’: all the available components for each operation will be visible.

Config

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Header

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Post Param/Put Param/Patch Param/Delete Param

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Post Body/Put Body/Patch Body/Delete Body

Name Type/Value Required
Content-Type ‘application/json’, ‘text/plain’, ‘application/x-www-form-urlencoded’,’text/xml’ Yes
Content String No
 

Get

The I/O operations you can do are: GET, POST, PUT, PATCH and DELETE. From the composer, choose ‘Add Component’ and then choose the type of operation you want to do.   Once done, you will have a form to fill up: Parameters:
Name Type/Value Required
Url Url Yes
Variable String Yes
Expect String No
Mode ‘json’,’xml’, ‘html’,’text’ Yes
Params String No
Url: the url of the resource you want to test. It could be the full url of the resource or a string with variables using the $. (i.e. ‘https://domain/resourcename’ or ‘https://${domain}${endpoint}’) Variable: the name of the variable that contains the response. It will be the name you will refer during the test. Expect: it is an optional field and needs to be filled only if the expected behavior differs from a positive response (i.e. 404,500 vs. 200,201 etc.). This is useful when looking to test negative responses and validate error messages.

Possible values are ‘<statusCode>|VALID’ or ‘<statusCode>|INVALID‘. VALID means the payload type is the one selected in the “mode” field (JSON,XML), while INVALID means the opposite. Some examples:
  • 404|VALID : 404 is expected with valid payload
  • 422|VALID : 422 is expected with valid payload
  • 500|INVALID : 500 is expected with invalid payload
Multiple status codes can be expected by adding them all (i.e. 200|302|400|500|VALID) Mode: it’s the type of the response you want to test. Params: the optional list of params you want to add to the query string. To do so, tap on ‘Add parameter’. The params can either be a String value (in that case, the value will always be the same for all the requests; to do so, just put the value in the related field and choose ‘String value’ from the drop down menu) or a Variable (in that case the value will be taken dynamically and could changed from time to time; to do so, put the name of the variable inside the field and choose ‘Variable’ from the drop down menu). Using the above example: let’s say that varName is defined as a boolean value so it can be either ‘true’ or ‘false’, in that case, there will be two requests; the first one will be a GET request to ‘https://mydomain/endpoint?firstParam=paramValue&secondParam=true’, parsing it as ‘json’ and saving it in the ‘payload’ variable; the second one, will be a GET request to ‘https://mydomain/endpoint?firstParam=paramValue&secondParam=false’, parsing it as ‘json’ and saving it in the ‘payload’ variable. When all things are set up, you can confirm it by tapping on the ‘tick’ icon in the top right corner. After that, if you need to add headers, params or a body to the request you can do it by selecting the request and then tapping on the ‘Add component’: all the available components for each operation will be visible.

Config

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Header

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Post Param/Put Param/Patch Param/Delete Param

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Post Body/Put Body/Patch Body/Delete Body

Name Type/Value Required
Content-Type ‘application/json’, ‘text/plain’, ‘application/x-www-form-urlencoded’,’text/xml’ Yes
Content String No
 

I/O Operations

The I/O operations you can do are: GET, POST, PUT, PATCH and DELETE. From the composer, choose ‘Add Component’ and then choose the type of operation you want to do.   Once done, you will have a form to fill up: Parameters:
Name Type/Value Required
Url Url Yes
Variable String Yes
Expect String No
Mode ‘json’,’xml’, ‘html’,’text’ Yes
Params String No
Url: the url of the resource you want to test. It could be the full url of the resource or a string with variables using the $. (i.e. ‘https://domain/resourcename’ or ‘https://${domain}${endpoint}’) Variable: the name of the variable that contains the response. It will be the name you will refer during the test. Expect: it is an optional field and needs to be filled only if the expected behavior differs from a positive response (i.e. 404,500 vs. 200,201 etc.). This is useful when looking to test negative responses and validate error messages.

Possible values are ‘<statusCode>|VALID’ or ‘<statusCode>|INVALID‘. VALID means the payload type is the one selected in the “mode” field (JSON,XML), while INVALID means the opposite. Some examples:
  • 404|VALID : 404 is expected with valid payload
  • 422|VALID : 422 is expected with valid payload
  • 500|INVALID : 500 is expected with invalid payload
Multiple status codes can be expected by adding them all (i.e. 200|302|400|500|VALID) Mode: it’s the type of the response you want to test. Params: the optional list of params you want to add to the query string. To do so, tap on ‘Add parameter’. The params can either be a String value (in that case, the value will always be the same for all the requests; to do so, just put the value in the related field and choose ‘String value’ from the drop down menu) or a Variable (in that case the value will be taken dynamically and could changed from time to time; to do so, put the name of the variable inside the field and choose ‘Variable’ from the drop down menu). Using the above example: let’s say that varName is defined as a boolean value so it can be either ‘true’ or ‘false’, in that case, there will be two requests; the first one will be a GET request to ‘https://mydomain/endpoint?firstParam=paramValue&secondParam=true’, parsing it as ‘json’ and saving it in the ‘payload’ variable; the second one, will be a GET request to ‘https://mydomain/endpoint?firstParam=paramValue&secondParam=false’, parsing it as ‘json’ and saving it in the ‘payload’ variable. When all things are set up, you can confirm it by tapping on the ‘tick’ icon in the top right corner. After that, if you need to add headers, params or a body to the request you can do it by selecting the request and then tapping on the ‘Add component’: all the available components for each operation will be visible.

Config

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Header

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Post Param/Put Param/Patch Param/Delete Param

Name Type/Value Required
Name String Yes
Value String or Variable Yes
 

Post Body/Put Body/Patch Body/Delete Body

Name Type/Value Required
Content-Type ‘application/json’, ‘text/plain’, ‘application/x-www-form-urlencoded’,’text/xml’ Yes
Content String No
 

Assert Matches

This assertion is used to check if the element value described by the expression matches a knowledge base of some kind. For example a US Zipcode or a US State. This also gives you the ability to write your own regex (regular expression). Parameters:
Name Type/Value Required
Expression Expression Yes
Type ‘regex’ or ‘US Zipcode’ or ‘US State’ or ‘credit card’ or ‘country codes’ or ‘currency codes’ Yes
Regex value String Yes, if type is ‘regex’
Mode ‘all’ or ‘one’ No
Level ‘error’ or ‘warning’ No
Modifier ‘not’ No
Execute if item exists ‘true’ or ‘false’ No
Stop test if fails ‘true’ or ‘false’ No
Comment String No
  Expression: It’s the path to the element we want to operate on (ex: payload.ProductID). See Expression for more details. Type: The data type of the value. The possible values are: ‘regex’, if you want to evaluate the field as a regular expression (specified in regex value); ‘US Zipcode’, checks if the field is a valid US Zipcode; ‘US State’, checks if the field is a valid US State (i.e. ‘NY’); ‘credit card’; checks if the field contains a valid credit card number from the most popular credit cards (i.e. VISA, Mastercard, AMEX); ‘country codes’, checks if the field contains a valid country code (i.e. ‘US’, ‘FR’, ‘DK’); ‘currency codes’, checks if the fields is a valid currency (i.e. ‘USD’, ‘EUR’) Regex value: Specify the regular expression you want to use for checking the expression. Mode: Specify if all the same elements in the payload should match the assertion (‘all’) or if only one element (‘one’) is enough. Level: Specify if the assertion fails whether it should be considered an ‘error’ or just a ‘warning.’ A warning will not trigger alerts (such as email or text messages). Modifier: The assertion is considered verified if it does not pass. Execute if item exists: The assertion is evaluated only if the element exists. This is useful when the element does not always exist. Stop test if fails: The test will be immediately stopped if the assertion fails.   Code View Examples:
<assert-matches expression=”data.zipcode” type=”us_zipcodes”/>
<assert-matches expression=”data.state” type=”us_states”/>
<assert-matches expression=”data.name” type=”regex” value=”[hc]?at”/>
<assert-matches expression=”data.credit” type=”creditCard”/>
<assert-matches expression=”data.country” type=country_codes”/>
<assert-matches expression=”data.code” type=”currency_codes”/>

Assert Equals

This assertion is used to check if the element value described by the expression is equal to a specific value. A direct one-to-one comparison. Parameters:
Name Type/Value Required
Expression Expression Yes
Value String Yes
Type ‘integer’ or ‘float’ No
Mode ‘all’ or ‘one’ No
Level ‘error’ or ‘warning’ No
Modifier ‘not’ No
Execute if item exists ‘true’ or ‘false’ No
Stop test if fails ‘true’ or ‘false’ No
Comment String No
  Expression: It’s the path to the element we want to operate on (ex: payload.ProductID). See Expression for more details. Value: The value we want to compare the expression to. Type: The data type of the value. This attribute is optional. If no type is defined the values will be compared as strings. If the type is set the values will evaluated with the chosen comparator (ex: ‘integer’ as a whole number, ‘float’ as a decimal number). Mode: Specify if all the same elements in the payload should match the assertion (‘all’) or if only one element (‘one’) is enough. Level: Specify if the assertion fails whether it should be considered an ‘error’ or just a ‘warning.’ A warning will not trigger alerts (such as email or text messages). Modifier: The assertion is considered verified if it does not pass. Execute if item exists: The assertion is evaluated only if the element exists. This is useful when the element does not always exist. Stop test if fails: The test will be immediately stopped if the assertion fails.   Code View Examples:
<assert-equals expression=”data.code” value=”500″/>
<assert-equals expression=”data.code” value=”500″ type=”integer”/>

Assert In

This assertion is used to check if the element described by the expression matches at least one item from a given list. For example, the category of a product is one of the approved categories such as men, women, or children. Parameters:
Name Type/Value Required
Expression Expression Yes
Value String Yes
Type ‘integer’ of ‘float’ No
Mode ‘all’ or ‘one’ No
Level ‘error’ or ‘warning’ No
Modifier ‘not’ No
Execute if item exists ‘true’ or ‘false’ No
Stop test if fails ‘true’ or ‘false’ No
Comment String No
  Expression: It’s the path to the element we want to operate on (ex: payload.ProductID). See Expression for more details. Value: The value we want to compare the expression to. Type: The data type of the value. This attribute is optional. If no type is defined the values will be compared as strings. If the type is set the values will evaluated with the chosen comparator (ex: ‘integer’ as a whole number, ‘float’ as a decimal number). Mode: Specify if all the same elements in the payload should match the assertion (‘all’) or if only one element (‘one’) is enough. Level: Specify if the assertion fails whether it should be considered an ‘error’ or just a ‘warning.’ A warning will not trigger alerts (such as email or text messages). Modifier: The assertion is considered verified if it does not pass. Execute if item exists: The assertion is evaluated only if the element exists. This is useful when the element does not always exist. Stop test if fails: The test will be immediately stopped if the assertion fails.   Code View Examples:
<assert-in expression=”data.type” value=”[‘paperbook’,’ebook’]”/>
<assert-in expression=”data.price” value=”[5.50,7,9.79]” type=”float”/>