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