Skip to main content
Runs Momentic mobile tests in the current project. By default, the run writes results to a local directory; pass --upload-results to send them to the dashboard after the run completes. Requires tests to exist locally as YAML files.

Arguments

array
Tests to run, given as test file paths, directories, or test-name substrings. Defaults to every test in the current project.

Common flags

string
Path to the Momentic configuration file. When omitted, Momentic searches the current directory and its parents for momentic.config.yaml or a workspace configuration. Use this flag to select a project when discovery finds more than one.
string
Name to associate with this run, used in the dashboard and as the base filename for generated reports.
string
Number of tests to run in parallel. Uses the project’s parallel setting, then 1. Pass AUTO to run every test in the current shard concurrently.Remote runs give each test an independent emulator session, so parallelism is safe and any org quota is enforced server-side. Local Android runs require a distinct AVD per parallel test; running multiple tests against the same --local-avd-id conflicts. Use --parallel 1 for local iOS runs to avoid concurrent sessions sharing a device-driver manifest.
boolean
Skip all confirmation prompts. Enabled by default when CI is set.

Environment

string
Environment to run tests in. Must exist in the project configuration and takes precedence over the default environment configured on the test.
string
Region used for remote emulator sessions. Overrides any region configured at the project or environment level. Pass closest to autoselect the nearest region.
string
Override the default release channel for app build selection (e.g. staging, dev). When omitted, falls back to the test’s default channel; if the test has none, no app build is installed during device initialization.
string
Override the version tag within the selected channel. Accepts an exact tag, the reserved latest, or a floating alias (e.g. nightly). When omitted, uses the test’s default tag; if the test has no default, the latest uploaded build for the test’s platform in the channel applies.

Filtering

array
Only run tests with one of the specified labels.
array
Only include tests whose file path matches any of the provided regex patterns. The pattern only needs to match part of the path.
array
Exclude tests whose file path matches any of the provided regex patterns.

Video

boolean | on-fail
Record videos of mobile test runs. Accepts true, false, or on-fail. Defaults to on-fail (videos are recorded but kept only for failing tests).

Quarantine

boolean
default:"false"
Skip quarantined tests entirely. By default, quarantined tests still run but their statuses do not affect pipeline status or the process exit code.
boolean
Run only quarantined tests, applying their statuses to pipeline status and the exit code.
boolean
Run all selected tests and apply quarantined tests’ statuses to the pipeline status and exit code. Use it to verify fixes before unquarantining.

Caching

boolean
Disable step caches entirely. Steps run without cached data and no caches are saved.
boolean
Always save updated step caches after successful runs, even on the main and other protected Git branches. See cache saving eligibility.
boolean
Run without using existing step caches. Saving still follows the normal branch rules; add --save-cache to save on protected branches. Use it to refresh caches after a config change.

Visual diff

boolean
Update locally stored golden files for visualDiff steps. Without this flag a visualDiff step fails when the screenshot differs from its golden; the run creates missing goldens on first run regardless of this flag.

Sharding

string
1-indexed shard to run. Defaults to 1. Must be less than or equal to --shard-count.
string
Total number of shards. Defaults to 1 (no sharding).

Output

string
Directory to store run artifacts (screenshots, logs, results). Defaults to the project’s outputDir or ./test-results. The directory is cleared at the start of a run.
boolean
Upload test results to the Momentic dashboard after the run. Equivalent to running momentic-mobile results upload <outputDir> once the run finishes.
string
Output reporter. Pass multiple times to combine reporters (e.g. --reporter=list --reporter=junit).Live reporters render progress to the terminal as the run unfolds:
  • list: per-test rows. Default. On a TTY the running rows redraw in place with their current step; on non-TTY each test commits a single row when it finishes.
  • steps: append-only lines logging each step as it starts and finishes, with per-step durations, sections (setup/main/teardown), and nesting via indentation (modules, AI actions, loops). Use it for CI logs, which do not render the list reporter’s in-place redraws.
File reporters write post-run output to --reporter-dir. Mobile runs support:
  • json
  • junit
  • allure
  • allure-json
  • buildkite-json
string
Directory where reporter output is saved. Defaults to ./reports. Filenames derive from --name (or the project name).
string
Logging verbosity. One of error, warn, info, or debug.

Local devices

string
Force tests to use a specific local Android Virtual Device (AVD). Overrides all configuration at the test and environment level.
string
Override the APK installed on emulator initialization. Requires --local-avd-id.
string
Force tests to use a specific local iOS simulator device type. Accepts any option Xcode supports when creating a new simulator (e.g. "iPhone 17").
string
Override the iOS app installed on simulator initialization. Requires --local-ios-device-type.

CI

string
Maximum total run time, in minutes. When reached, running tests stop and the CLI prints current results.

Examples

Run every test and upload to the dashboard:
Run a sharded Android pipeline against a staging APK:
Run against a local iOS simulator with a freshly built app: