> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Internal links on these pages omit the .md extension. Append .md to a docs page URL, or send an Accept: text/markdown header, to get that page as markdown.

# Testing

> Create browser tests for an app, run them, and read the reports with the Base44 Apps API

<Note>
  The Apps API is in beta. Its endpoints and responses may change.
</Note>

These endpoints work with the testing agent. A test is a goal written in plain language, such as signing up and creating a record. When you run it, the testing agent tries to reach that goal in a real browser. See [Testing your app's flows](/documentation/managing-app-data/testing-agent) for the same feature in the Base44 online app editor.

## Tests and runs

A test is the saved goal. A run is one attempt at it. Creating a test is free, and running it costs credits. An app can have up to 250 tests.

**To run a test and read the result:**

1. Create a test with [Create test](/api-reference/create-test).
2. Start a run with [Run test](/api-reference/run-test). It runs against the app's current preview unless you send a `url`, and it works against the app's test data, not its live data.
3. Poll [Get test run](/api-reference/get-test-run) until `status` is no longer `pending`, `running`, or `analyzing`.
4. Read the verdict and the problems found with [Get test run report](/api-reference/get-test-run-report). It returns a `404` until the report is written, so wait for `analysis_status` to be `completed`.

A test runs one at a time. Starting it again while a run is going returns a `409`. [Cancel test run](/api-reference/cancel-test-run) stops a run that's still going.

## Endpoints

### Tests

* [Create test](/api-reference/create-test): Add a test to the app.
* [List tests](/api-reference/list-tests): List every test in the app.
* [Get test](/api-reference/get-test): Read one test.

### Runs

* [Run test](/api-reference/run-test): Start a run of a test.
* [List test runs](/api-reference/list-test-runs): List the app's 100 most recent runs.
* [Get test run](/api-reference/get-test-run): Read one run and follow its status.
* [Cancel test run](/api-reference/cancel-test-run): Stop a run that's still going.
* [Get test run report](/api-reference/get-test-run-report): Read a run's verdict, summary, and problems found.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.