Top-level schema
Allowed top-level fields are exactly:
metaconfigstepsassertionsoutput
meta
Allowed fields:
config
Allowed fields:
steps[]
Each step must be an object with these fields:
Supported commands:
tapnavigateactscrollscreenshotwaitsource
Step argument rules
tap
Valid forms:
- cannot mix
targetwithxory - if using coordinates, both
xandyare required - if present,
normalizedmust be boolean
navigate
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=typewithtargetandvalue, which types into the matching elementname=typewithvalueonly, which types into the currently focused fieldname=backname=homename=resetname=dragwithstartX,startY,endX, andendYname=sliderwithtarget,valuefrom0to1, and optionalstartValue
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:
directionwith valueupordown
args:
percent
directionis requireddirectionmust beupordown- if present,
percentmust be a number between1and100
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:
msforstable
timeoutpollMspoll-ms
- exactly one of
ms,for, orstableis required formust be a non-empty selector stringstable, when used, must betrue- 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.