# How to Record a Test in TestOwl

Learn more about visual recording and self-healing test steps on the [No-Code Test Automation](https://testowl.ai/no-code-test-automation) platform page.

:::lead
The Recorder is the fastest way to create automated tests. Use your web application as you normally would, and TestOwl converts your interactions into editable test steps.
:::

## Before you begin

Make sure you have:

- A [project](/docs/getting-started/creating-a-project) where you're an **Editor**, **Admin**, or **Owner** (Viewers can't record).
- The **TestOwl Desktop App** installed and open — recording happens inside it. See [The Desktop App](/docs/running-and-results/desktop-app).
- The URL of the web application you want to test.

:::info{title="Recording is turned off in some places"}
On the web version of TestOwl and in the read-only **Sample Demo Project**, the **Record** button is disabled. Open your own project in the Desktop App to record.
:::

## Start recording

Open your project and go to the **Home** page. Set up your recording:

| Field | What it does |
| --- | --- |
| **Protocol** and **URL** | The address of the page to start on. Choose `https` or `http`, then enter the URL. |
| **Environment** *(optional)* | Records with that [Environment's](/docs/environments/overview) browser, device, viewport, locale, and other settings applied, exactly as a real run would use them — so you record what your test will actually see. |
| **Flow** *(optional)* | A [Flow](/docs/building-tests/flows), such as *Log in*, that TestOwl plays **before** recording begins. Recording starts on the page you're left on, so you don't re-record steps like signing in. |

Click **Record**. The Desktop App opens a browser on your application and starts capturing.

If a chosen Flow can't complete, TestOwl tells you that the setup steps failed and recording doesn't start — fix the Flow or pick another one and try again.

![Start recording](/images/building-tests/recorder/recorder-start-recording.png)

## Record your user journey

Use your application exactly as an end user would: navigate, click, type, choose options, and submit forms. Each action appears as a step in the recorder panel **as you go**.

The panel header shows **Live** while recording. You can:

- **Pause** and **Resume** the recording — for example while you dismiss something you don't want in the test.
- **Stop** the recording when your journey is finished.

### Add assertions while you record

Use **Add assertion for the next step** in the panel to insert a check — such as text, visibility, an attribute, an element's state, or the page URL — without leaving the recorder. The assertion appears in your step list like any other step, and you can edit it afterwards.

### Create Variables on the fly

The **Configure** panel lets you pick an existing [Variable](/docs/data/variables) or create a new one, so recorded values can use variables instead of hard-coded text.

## Review your recorded steps

When you stop, review the steps before saving. Every step is editable:

![Review recorded steps](/images/building-tests/recorder/recorder-review-steps.png)

- Change a step's properties.
- Reorder steps by dragging them.
- Delete steps you don't need.
- Add new steps from the palette.
- Select several steps and click **Create Flow** to turn them into a reusable Flow.

Click **Run** to replay the steps on the page that's still open and check they work. Nothing is saved by a replay.

## Save

Click **Save**, then choose what to save the recording as:

- A **Test Case** — for automated execution. Choose its name, suite, and other details.
- A **Flow** — if the sequence will be reused across many tests. A login sequence is a classic example.

Save is available once you've stopped recording and have at least one step.

## Re-recording an existing test

You can also record into a test you've already built. In the [Step Editor](/docs/building-tests/the-editor), choose **Edit using Recorder**, enter the page to start on, and continue recording. TestOwl replays the test's existing steps first (including any Flows it uses) and then lets you add or change steps from where it stops.

## Supported recording actions

The Recorder converts common browser interactions into TestOwl steps automatically:

| Your action | Recorded as |
| --- | --- |
| Open a page or navigate to a URL | Visit Page |
| Click an element | Left Click |
| Double-click an element | Double Click |
| Right-click an element | Right Click |
| Type into an input field | Type Text |
| Press keyboard keys | Key Down |
| Choose an option from a dropdown | Select Option |
| Tick or untick a checkbox | Checkbox |

TestOwl supports many more step types that you can add when building a test — see the [Step Library](/docs/building-tests/step-library).

:::callout{title="Tip"}
If you've recorded a long journey, select just the steps you want and convert them to a reusable Flow — you don't need to record it again.
:::

Stuck on a tricky bit instead of recording it by hand? Use the **Ask AI** box above the step list to describe the action and let AI perform it for you — see [Creating Tests with AI](/docs/building-tests/creating-tests-with-ai).

## Next steps

::::cardgrid
:::card{title="The Step Editor" href="/docs/building-tests/the-editor"}
Edit, organise, and enhance your recorded steps.
:::

:::card{title="Flows" href="/docs/building-tests/flows"}
Create reusable groups of steps shared across tests.
:::

:::card{title="Step Library" href="/docs/building-tests/step-library"}
Browse every step you can add to a test.
:::

:::card{title="Creating Tests with AI" href="/docs/building-tests/creating-tests-with-ai"}
Describe a test or one instruction and let AI carry it out.
:::
::::
