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}} |
✅ |
❌ |