Test Engine REST API

Applies to TestComplete 15.64, last modified on May 16, 2024

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.


The REST API plugin must be enabled in TestComplete. By default, the plugin is disabled. You can enable the plugin:

API explorer

The interactive API documentation is available:

Locally at:


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 Sys object that corresponds to the operating system running on the current computer. The Sys object has a constant id — 4a9f9237-c1f7-4b80-9573-8440d7b37dc6.

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 Click method of the object to simulate a click on it.

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.

See Also

Test Runner REST API

Highlight search results