About TestComplete Test Engine REST API
You can use the Test Engine REST API to access applications running on your computer (as well as their internal objects) and to simulate user actions over them. Generally, the REST API is used by TestLeft to send test instructions from your TestLeft tests to the test engine.
More on APIs
If you are interested in API testing, you can use ReadyAPI, another product by SmartBear for functional and security API testing. See About Integration With ReadyAPI and SoapUI.
To learn about the TestComplete API that allows controlling test runs, opening project suites, launching tests and getting test results, see Test Runner REST API.
Requirements
The REST API plugin must be enabled in TestComplete. By default, the plugin is disabled. You can enable the plugin:
-
In the File > Install Extensions dialog in TestComplete.
-
By using the
StartRestServer
command of the SessionCreator utility.
API explorer
The interactive API documentation is available:
Locally at:
http://<test-host-name>:<port>
where test-host-name is the IP or network name of the computer where the API is running and port is the port through which you access the API. To specify the port, use the RestServerPort
command-line parameter.
For example, to explore the API enabled on your local computer and whose port is 2377 (default port):
You can use the API explorer to make API calls directly from your web browser.
In addition, an OpenAPI definition for the API is available at:
Workflow example
Step | Operation | Description |
---|---|---|
1. | POST /initialize |
Starts the test engine and gets it ready for simulating user actions. |
2. | POST /applications/run – or – POST /applications/browsers/run |
Runs a tested desktop application or launches a web browser and opens a tested web page in it. |
3. | POST /sys/{id}/find |
Searches for an object in a tested application using the specified criteria.
The id specifies the identifier of the parent object. Among the children of this object, the method will search for the target tested object. You can start the search with the |
4. | GET /sys/{id}/members |
Returns the list of the tested object’s properties and methods. |
5. | GET /sys/{id}/method/{name} |
Calls the specified method of the tested object. Use it to simulate user actions over the object.
For example, call the |
6. | GET /sys/{id}/property/{name} |
Returns the value of the specified property of the tested object. Use it to check the object state. |
7. | GET /log/message – or – GET /log/error – or – GET log/screenshot |
Posts a message, an error, or a screenshot of a tested object to the test log. Use it to report the test results. |
8. | GET /log |
Returns the test results encoded in Base64. Use it to store the test results in an HTML file or in an MHT file. |