Skip to main content
Tests can be exported as YAML from the test editor for version control and CI/CD use, or authored from scratch via the CLI (revyl test create --from-file my-test.yaml). Every block uses an explicit type: field plus a step_description: payload. The shape is uniform across all step types, which keeps the schema parser-friendly and round-trippable through the editor and CLI.

Schema

The app launches automatically at the start of every test, so you don’t need an initial open_app step.

Example

Block Types

Every block also accepts a step_description: field — required for all types.

Manual Steps

The manual block runs framework-level actions. The step_type field picks which one:

Control Flow

Modules

Reusable groups of blocks live in modules. Import one by UUID:
Use revyl module list (CLI) to find module IDs, or revyl module insert <name> to print a ready-to-paste snippet.

Variables

Variables use Mustache-style {{name}} syntax. They can be defined up front, extracted at runtime, or pulled from org-level globals via {{global.name}}.
Variable names allow letters, numbers, hyphens, and underscores. They must not start or end with a hyphen or underscore.

Validation

The CLI validates YAML before it ever runs:
That same validator runs automatically during revyl test create --from-file and revyl test push. It checks: required fields, valid block types, valid manual step_type values, platform values, and variable definitions before use.
Authoring tests for AI agents? The full LLM-facing schema (with best practices and step-generation guidance) lives in the CLI repo at internal/schema/yaml_test_schema.go.