Skip to main content
The emulator block configures remote mobile emulators used by the local editor and momentic-mobile CLI. Only applies to mobile test runs.
momentic.config.yaml
"us" | "eu" | "as" | "us-east1" | "us-east2" | "us-west1" | "us-west2" | "eu-north1" | "as-south1"
Region where the emulator runs. Continent values (us, eu, as) are recommended because they let Momentic schedule across every data center in the continent, which improves allocation reliability compared to pinning a specific data-center region. Specific regions (us-east1, us-east2, us-west1, us-west2, eu-north1, as-south1) are still accepted when you need deterministic latency to a particular location. as is Android-only. When unset, Momentic picks the region closest to the user’s source IP.
momentic.config.yaml
"us" | "eu" | "as"
Pin emulators to a single jurisdiction. Within that jurisdiction, the emulator may be scheduled in any of its data centers, but never outside it: unlike emulator.region, which is a scheduling preference that can fall back to other regions when capacity runs out, jurisdiction is a hard constraint, and creation fails if no capacity is available inside it. Set this when your app has data residency requirements, e.g. it must never run outside the US. Setting a region outside the jurisdiction is rejected as a configuration error before any emulator is created. as is Android-only; combining platform: ios with jurisdiction: as is also rejected. When unset, emulators may fall back to any region worldwide.
momentic.config.yaml
region is not required alongside jurisdiction — on its own, jurisdiction schedules the emulator in whichever of the jurisdiction’s data centers is closest. Combine the two only to express a latency preference within the jurisdiction, e.g. region: us-west1 with jurisdiction: us.
boolean
Android only. Auto-grant permissions to the app under test at install and launch time, so permission confirmation dialogs (camera, location, notifications, etc.) never appear. Has no effect on iOS; use emulator.autoAcceptAlerts there instead. Default: false.
momentic.config.yaml
boolean
iOS only. Automatically accept native alert dialogs as they appear during the run, including permission prompts (“Allow … to access …”) and other system alerts. Should not be combined with emulator.autoDismissAlerts. Has no effect on Android; use emulator.autoGrantPermissions there instead. Default: false.
momentic.config.yaml
boolean
iOS only. Automatically dismiss native alert dialogs as they appear during the run, declining permission prompts and closing other system alerts. Should not be combined with emulator.autoAcceptAlerts. Default: false.
momentic.config.yaml
boolean
Android only. Stream emulator logcat entries into the local editor and CLI run output. Capture is disabled by default as a performance optimization that reduces continuous log streaming and can reduce emulator lag, especially during local editor sessions. Enable it when retaining logcat entries for debugging is more important than emulator responsiveness. Individual tests can override the project default from the test options dialog. Default: false.
momentic.config.yaml
boolean
iOS only. Stream simulator syslog entries into the local editor and CLI run output. Capture is disabled by default as a performance optimization that reduces continuous log streaming and can reduce simulator lag, especially during local editor sessions. Enable it when retaining syslog entries for debugging is more important than simulator responsiveness. Individual tests can override the project default from the test options dialog. Default: false.
momentic.config.yaml
number
How long to wait for a local emulator or simulator to finish starting, in milliseconds. Raise it on slow machines such as hosted CI runners, where a fresh simulator or emulator can take several minutes to boot. Has no effect on remote emulators. Default: 300000.
momentic.config.yaml
boolean
Use the native Android accessibility tree inside webviews instead of Momentic’s custom implementation. The custom implementation includes more elements by default. Disabling it can speed webview interactions by 1-2 seconds but may break interactions with elements outside the viewport. Default: false.
momentic.config.yaml
number
Budget for every wait and retry on a single interaction, in milliseconds: settling the screen, the readiness check before Momentic locates an element with AI, and retrying a cached element. Raise it for apps that take a long time to render; lower it to fail faster. Default: 5000.
momentic.config.yaml
boolean
Wait for the screen to settle after every step that can change it, so one step’s effects land before the next step runs. Steps that change nothing — assertions, extracts, waits — are unaffected. Turn this on for apps that load incrementally or animate between screens. Default: false.This does not control the waits that happen before Momentic targets an element. Locating an element with AI always waits for the screen to be ready first, and a cached element is retried until smartWaitingTimeoutMs either way, so leaving this off does not make targeting less reliable — it only means a step’s effects are not waited on before the next step begins.
momentic.config.yaml
number
Default maximum wait time for element check assertions to become true, in seconds. Element check steps with an explicit timeout are unaffected. Default: 5.
momentic.config.yaml
number
Default delay between key presses for type steps, in milliseconds. Steps with an explicit key press delay are unaffected. Increase this if your app needs more time to react to each keystroke. Default: 25.
momentic.config.yaml