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

# Steps & Actions

> Understanding test steps and the actions available

# Steps & Actions

A UI test is a sequence of steps. Each step has an action, a description, and element locators.

## Managing steps

* **Reorder** — drag steps to change the execution order
* **Edit** — click a step to modify its action, value, or locators
* **Delete** — remove steps you don't need
* **Insert** — add new steps between existing ones

## Action types

### Browser actions

| Action          | Description               |
| --------------- | ------------------------- |
| `click`         | Click an element          |
| `fill` / `type` | Enter text into an input  |
| `select`        | Choose a dropdown option  |
| `hover`         | Hover over an element     |
| `double_click`  | Double-click an element   |
| `press`         | Press a keyboard key      |
| `clear`         | Clear an input field      |
| `navigate`      | Go to a URL               |
| `refresh`       | Reload the page           |
| `go_back`       | Browser back button       |
| `upload_file`   | Upload a file to an input |
| `paste`         | Paste clipboard content   |

### Assertions

| Action   | Description                                           |
| -------- | ----------------------------------------------------- |
| `assert` | Check element visibility, text content, URL, or title |

### Email actions

| Action             | Description                                   |
| ------------------ | --------------------------------------------- |
| `wait_for_email`   | Wait for an email to arrive in the test inbox |
| `copy_from_email`  | Extract a value (OTP, link) from an email     |
| `click_email_link` | Click a link inside an email                  |
| `assert_email`     | Verify email subject, sender, or body content |

## Step results

After running a test, each step shows:

* **Status** — passed, failed, or skipped
* **Duration** — how long the step took
* **Screenshot** — what the page looked like after the step
* **Error** — what went wrong (if failed)
