Skip to main content

Top-level schema

Allowed top-level fields are exactly:
  • meta
  • config
  • steps
  • assertions
  • output
Any other top-level field is an error.

meta

Allowed fields:

config

Allowed fields:

steps[]

Each step must be an object with these fields: Supported commands:
  • tap
  • navigate
  • act
  • scroll
  • screenshot
  • wait
  • source

Step argument rules

tap

Valid forms:
Rules:
  • cannot mix target with x or y
  • if using coordinates, both x and y are required
  • if present, normalized must be boolean
Required field inside args:
  • to

act

Validation only checks that args is present. Runtime support is narrower than schema support. The runtime currently accepts:
  • name=type with target and value, which types into the matching element
  • name=type with value only, which types into the currently focused field
  • name=back
  • name=home
  • name=reset
  • name=drag with startX, startY, endX, and endY
  • name=slider with target, value from 0 to 1, and optional startValue
For type, value is required and target is optional. drag also accepts normalized. reset restarts the target app and requires --app-id on Appium-backed runs.

scroll

Required field inside args:
  • direction with value up or down
Optional field inside args:
  • percent
Rules:
  • direction is required
  • direction must be up or down
  • if present, percent must be a number between 1 and 100

screenshot

No hard schema requirement beyond args, but missing label triggers a warning because it reduces determinism.

wait

Use exactly one wait mode inside args:
  • ms
  • for
  • stable
Optional timing controls:
  • timeout
  • pollMs
  • poll-ms
Valid forms:
Rules:
  • exactly one of ms, for, or stable is required
  • for must be a non-empty selector string
  • stable, when used, must be true
  • timing values must be non-negative numbers

source

No additional schema requirement beyond args.

assertions[]

Each assertion must be an object with these fields: Important detail: unsupported assertion types pass schema validation but fail during execution.

output

Allowed fields:

Full example