Skip to content

Reference

maestro_run

Execute a validated flow using semantic proof-domain routing. On iOS, exact-testID React commands execute through the authority-bound React tree before WDA can claim selector truth; text/system/native-only commands remain XCTest, and mixed flows are partitioned before execution without React-to-XCTest correlation. Results label react-tree and xctest-native proof domains explicitly; a React-tree pass is never Maestro certification or proof of IME, AutoFill, keyboard occlusion, or native interaction fidelity. Android and native-only iOS flows use the pin-cache maestro-runner >= 1.1.24. A ledger-proven trailing-verification-only failure remains failed with meta.trailingVerification; verify the unproven goal state before retrying or rebooting. Pass flowPath for an existing .yaml file or inlineYaml for an ephemeral flow.

NameTypeRequiredDefaultConstraintsDescription
flowPathstringNoPath to a .yaml flow file to execute
inlineYamlstringNoInline YAML flow content (written to /tmp and executed)
platformenum: ios | androidNoTarget platform (auto-detected from session)
appIdstringNoApp bundle ID (auto-detected from app.json)
appFilestringNoiOS only — path to a built .app/.ipa for maestro-runner to reinstall on clearState. Auto-resolved from the flow appId when omitted (GH#201).
deviceIdstringNomin: 1, max: 256Exact UDID or serial; defaults from session or Android ANDROID_SERIAL.
timeoutMsnumberNo120000min: 5000, max: 300000, integerExecution timeout in ms
paramsRecord<string, unknown>NoGH #116: parameter bindings forwarded as -e KEY=VALUE for ${KEY} placeholders in the flow. Keys must match /^[A-Z_][A-Z0-9_]*$/ (validated in the handler).
maestro_run()