Test steps are core building blocks of functional tests. You add them to a test case to control the execution flow and validate the functionality of the testing service. Each step performs a simple action: simulates a request, exchanges data, checks responses, and so on.
A test case starts running from the topmost test step and executes test steps in sequence. However, it is possible to create more complex behavior by using conditional branching, loops, and calls of other test cases.
The following test steps are available in ReadyAPI:
Sending Requests | |
SOAP Request | Sends a SOAP request over either HTTP, HTTPS, or JMS and receives the response if any. SOAP Request test steps are tied to the corresponding WSDL operation and its WSDL interface added to a project when importing the corresponding WSDL. |
REST Request | Sends a REST request over HTTP, HTTPS, or JMS and receives the response if any. REST Request test steps are tied to the corresponding REST Service, Resource, and Method in the containing project. |
HTTP Request | Sends an HTTP request over HTTP, HTTPS, or JMS and returns the results. |
GraphQL Query | ![]() |
GraphQL Mutation | ![]() |
GraphQL Request | ![]() |
API Connection | ![]() |
JDBC Request | Sends a database query or stored procedure call to the configured database and returns the result. |
JMS Request | Sends a SOAP or REST request by using Java Message Service. |
XML-RPC | Simulates an XML-RPC operation call. |
Working With Properties | |
Properties | Helps you define an arbitrary number of properties that can optionally be read from or written to a file. These can then be used for parameterization of requests, assertions, and so on. |
Property Transfer | Helps you transfer or extract property values between test steps, for example, you can extract a value from a response message and write it to a Data Sink test step for external storage. |
Property Wait | ![]() |
Data-Driven Testing | |
Data Source | ![]() |
Data Sink | ![]() |
DataGen | ![]() |
Data Source Loop | ![]() |
Execution Flow | |
Conditional GoTo | Checks for specific values in the last received message in the test case and jumps to the target test step. |
Run Test Case | Transfers execution of a test case to the specified target test case and sets its properties as configured in the test step. Use this to create modular test cases, for example when the same sequence of test steps should be run at the beginning of a number of test cases. |
Delay | Pauses the execution of the test case for the specified time. |
Scripting | |
Groovy Script | Custom scripting with Groovy. |
Validation | |
Assertion | ![]() |
Web Service Virtualization | |
SOAP VirtResponse | Listens and waits for an HTTP or HTTPS SOAP request and returns the configured response. Used for testing callbacks and asynchronous processes. |
REST VirtResponse | ![]() |
Virtual Service Runner | ![]() |
Working With AMQP | |
AMQP Declare Exchange | Creates an exchange on an AMQP broker. |
AMQP Declare Queue | Creates a queue on an AMQP broker. |
AMQP Bind Queue | Binds a queue to an exchange. |
AQMP Publish | Sends a message to an exchange. |
AMQP Receive | Fetches a message from a queue. |
Working With MQTT | |
Receive MQTT Message | Simulates actions of an MQTT client. |
Publish using MQTT | Simulates actions of an MQTT publisher. |
Drop MQTT Connection | Simulates a disconnection from an MQTT broker. |
Working With Files | |
File Wait | ![]() |
Create File | ![]() |
FTP | Uploads a file to the specified FTP server. |
Miscellaneous | |
Manual | Performs a manual check as part of your automated test run. |
TestComplete | ![]() |
Send Mail | ![]() |
See Also
Managing Test Steps
Tutorials and Samples (Functional Tests)
Creating Functional Tests