Test Definition
The shape of a test: steps, metadata, and organization.
A test is a YAML document with a small amount of metadata and an ordered list of steps. The same format is used by the CLI and Cloud, so tests move freely between the two.
Minimal test
tests/smoke.yamlyaml
name: Home page loads
url: https://www.example.com
steps:
- page-check:
title-contains: ExampleTop-level fields
| Field | Type | Description |
|---|---|---|
namerequired | string | Human-readable name shown in reports. |
url | string | Starting URL. Relative URLs in steps resolve against this. |
stepsrequired | Step[] | Ordered list of actions and assertions. |
variables | Record<string, string> | Values available to steps via {{ var.name }}. |
tags | string[] | Labels for filtering, grouping, and CI routing. |
timeout | duration | Maximum wall-clock time for the test. Defaults to 2 minutes. |
retries | number | How many times to retry the test on failure. Defaults to 0. |
Anatomy of a step
Each step has a type and a set of fields specific to that type. The Steps section of these docs documents every step type individually.
yaml
steps:
- navigate: /login
- type:
element: email input
text: qa@example.com
- click: sign in button
- ai-check: the dashboard is visible