# How to Trigger a Test Run in TestOwl

A **run** executes one or more Test Cases against one or more [Environments](/docs/environments/overview) and records the results.

Whether you're validating a single test or an entire suite, TestOwl uses the same **Run** dialog — and you can run on your own machine or in the cloud.

:::quote{author="TestOwl Team"}
Confidence comes from every successful test run.
:::

## Where to start a run

Click **Run** from any of these places:

- **Tests** page — the **Run** button on a test's row, or **Run** in the toolbar after selecting tests.
- **Test Suites** page — select one or more suites, then click **Run** in the toolbar.
- **A Test Suite's page** — **Run Suite** to run the whole suite, or **Run** on an individual test.
- **The Step Editor** — **Run** while editing a test.
- **Run History** — select one or more previous runs and click **Re-run**.

You can also [schedule runs](/docs/running-and-results/schedules) to start automatically.

## The Run dialog

The dialog lets you pick what to run and how to run it.

![Run Configuration dialog](/images/running-and-results/trigger-run.png)

### 1. Choose what to run

Search, filter by status, and sort the list, then tick the **Test Suites** or **Test Cases** you want. **Select all** picks everything that matches your filters. Items that can't run are disabled, with the reason shown (see [What can run](#what-can-run)).

### 2. Environment

Select one or more [Environments](/docs/environments/overview).

If you select several, TestOwl runs your tests independently in each one and creates a **separate run and report per environment**. This makes it easy to spot environment-specific problems, such as a test that passes in Chrome but fails on mobile Safari.

![A single run executes independently across multiple environments, with each environment generating its own result.](/images/running-and-results/run-fanout.png)

### 3. URL

Enter the web address of the application to test, for example `https://staging.example.com`. This is the site your tests will visit, so you can run the same tests against staging one day and production the next. The field is filled in for you when you re-run or start from a schedule.

### 4. Tests in parallel

How many of the selected tests run at the same time within each run. TestOwl shows the maximum your plan allows and refuses the run if you ask for more.

### 5. Headless

- **On** — the browser runs without a visible window.
- **Off** — you can watch the browser as it runs (Local runs only).

**Cloud** runs are always headless, so the switch is locked on.

### 6. Run Target

| | Local | Cloud |
| --- | --- | --- |
| Runs on | Your computer, through the TestOwl Desktop App | TestOwl's cloud infrastructure |
| Available when | You're using TestOwl inside the Desktop App | Always |
| Best for | Debugging, watching the browser, testing `localhost` or internal sites | Team runs, scheduled runs, and running without keeping your computer on |
| Counts towards | Your **Local** execution pool | Your **Cloud** execution pool |

Inside the [Desktop App](/docs/running-and-results/desktop-app) the dialog defaults to **Local**; on the web it defaults to **Cloud**, and **Local** is disabled with the note *"Local runs are available only in the desktop app."*

Click **Run** to start.

## What can run

TestOwl checks every test and suite before starting and skips any that shouldn't run:

| Status | Can it run? |
| --- | --- |
| **Active** | Yes. |
| **Draft** | Yes, but **not** against a [Production](/docs/environments/overview#marking-an-environment-as-production) environment. |
| **Archived** | No. Set it back to Draft or Active first. |

A suite also needs at least one runnable test. If nothing selected can run, TestOwl explains why instead of starting an empty run.

## Limits that apply

Your plan decides whether a run can start. TestOwl refuses a run up front if:

- It needs more **executions** than you have left (one execution is one test against one environment).
- It selects more environments than your plan's **parallel workers** allow.
- It asks for more **tests in parallel** than your plan allows.
- The project is **read-only** because a trial has ended or a plan is needed.

See [Plans & Usage](/docs/team-and-account/plans-and-usage) for the details.

## Monitoring a run

A new run appears in [Run History](/docs/running-and-results/run-history) straight away as **Queued** and then **Running**. Open it to watch results arrive in its [report](/docs/running-and-results/reports), which refreshes automatically while the run is in progress.

:::info{title="Keep the Desktop App open for Local runs"}
A Local run executes on your machine, so the Desktop App must stay open until it finishes.
:::

## Next steps

::::cardgrid
:::card{title="The Desktop App" href="/docs/running-and-results/desktop-app"}
Set up local test execution.
:::

:::card{title="Run History" href="/docs/running-and-results/run-history"}
Monitor and manage your test runs.
:::

:::card{title="Reading Reports" href="/docs/running-and-results/reports"}
Understand execution results and failures.
:::
::::
