Without leaving CTP, you can create, configure, and execute a scenario of tests that check the functionality of RESTful services—as well as review the outcome of those tests. To do this, you add REST Client tools to your test scenarios and configure them to suit your testing needs. You can then create and run a job for executing the related test scenarios—with the appropriate environment provisioned. You can also use these tests for checking the health of specific components and for automated testing during provisioning.
This functionality is intended to provide a fast way to create new REST client tools. For more advanced functionality (e.g., message payloads defined by custom scripts), open the related .tst in SOAtest Desktop.
Tip: Creating REST Clients from Traffic
If you have a traffic file that captures traffic for RESTful services, you can generate a test scenario with REST Clients configured to test the recorded traffic. For details, see Creating New Test Scenarios and Test Suites.
Adding a REST Client
To add a new REST Client tool:
- In the left pane, select the .tst or test suite where you want the new REST client added.
- Choose Add REST Client from the page-level action menu.
- (Optional) Modify the name of the newly-created tool.
- Configure the tool as described below.
- Save the new tool configuration.
The new tool will be added at the end of the selected test suite.
Configuring a REST Client
To configure a REST Client tool:
- If the containing test suite includes multiple data sources, you can review and change which data source is used to parameterize this REST Client. See Parameterizing with Data Source and Data Bank Values for details.
- In the Resource area, specify where and how to access the resource you want to test.
- Select the HTTP method to execute.
Specify the URL for accessing the resource, including queries.
Tip: Using {var_name}
If you’re familiar with SOAtest, you can use the standard ${var_name} notation to reference environment variables, test suite variables, and data source values that are defined for the test scenario. This applies to both URL and Payload.
When you are working with JSON, a special notation is used for parameterizing a number or boolean field within a JSON message: ${number:<value>} or ${boolean:<value>}. For example, to parameterize a number field with the column Count, you would use ${number:Count}.
(Optional) Specify HTTP authentication settings if desired.
- Check Enable HTTP authentication.
- Specify the username and password.
- (Optional) Add HTTP headers if you want to override the default headers (described in the SOAtest documentation).
- Click Add.
- Specify a header name (this is case insensitive) and value. You can enter values in either table mode or literal mode.
Here is an example in literal mode:
Here is that same example in table mode.
- If you have selected a method that sends data (e.g., PUT, POST), use the Payload controls to specify the payload for the message that will be sent.
- Ensure that the appropriate payload format and media type are selected (in the Format and Content type boxes).
- Specify the payload in the literal text editor, the JSON editor, or the XML editor (see Editing JSON Messages and Editing XML Messages for details and tips).