Live demo — data resets daily at 03:00 UTC. Nothing you enter is saved. Server UI →

product: maestro audience: test-developer authority: normative

YAML — Quick Reference Index

This folder contains the authoritative reference for all YAML test definition syntax.

Question File
Top-level structure, required fields, step field tables schema.md
Step type cookbook (delay, mock, dotnet, python, prompt, sequence) steps.md
Measurement fields, operators, boolean, string, log measurements.md
enabled, precondition, force, retry, repeat, timeout_ms, run_on_abort runtime-control.md
Variables, cfg., exec., mes.*, templates variables.md
Composition patterns A–G composition.md

Top-level structure (summary)

test:
  name: "string"               # REQUIRED
  version: "1.0.0"             # REQUIRED — bump before every deployment
  device: "string"             # optional
  tags:
    ProductId: "PCB-100"
  required_tags:
    - ProductId
  variables:
    supply_voltage: 12.0
  setup:    [ ...steps ]       # optional — runs before steps
  steps:    [ ...steps ]       # REQUIRED
  teardown: [ ...steps ]       # optional — runs after steps, even on abort
  policy:
    on_step_failure: abort     # abort (default) | continue
    timeout: 300

Step field summary

Field Type Notes
name string Required. Descriptive phrase.
type enum delay mock prompt manual sequence
runner enum dotnet python
runner_type enum net10.0 python3.11
assembly string .NET: DLL filename in assemblies/
class string .NET: fully-qualified class
method string .NET: method name
module string Python: module path
function string Python: function name
sequence string Sequence: package-relative YAML path
parameters map Key-value pairs; values support {{var}} templates
outputs map Maps return keys to variables
measurement object Single measurement point
measurements array Multiple points — takes precedence over measurement
duration float type: delay — pause in seconds
timeout_ms int Per-attempt wall-clock timeout → ABORTED if exceeded
enabled bool false → SKIPPED immediately
precondition string DynamicExpresso expression; false → SKIPPED
force enum pass fail skip run
retry object {count: int, delay_ms: int}
repeat object {condition: string, max_iterations: int}
run_on_abort bool true → runs even during abort
post_execution_action enum continue terminate-on-fail terminate-always

Measurement field summary

Field Type Notes
name string Required. UPPER_SNAKE_CASE
type enum numeric (default) boolean string
value any Use {{var}} for runner steps
target number mock: measured value
low_limit number Lower bound (inclusive)
high_limit number Upper bound (inclusive)
unit string Always include on numeric. V A mV degC dBm MHz
expected string/bool For boolean and string types
operator enum Omit for range check. eq ne gt gte lt lte log

Variable namespace summary

Namespace Example In {{}} In precondition:
bare {{voltage}}
__iteration__ {{__iteration__}}
__execution_id__ {{__execution_id__}}
cfg. {{cfg.DMM_VISA}}
exec. {{exec.serial_number}}
exec.tag. {{exec.tag.ProductId}}
mes. {{mes.correlation_id}}
An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.