[ Documentation ]
Testing

Testing

rnx runs your React Native app in a browser, which changes what mobile testing costs. There is no simulator to boot, no .app to build, and no macOS runner to rent: a test suite that needs minutes of Xcode and simulator time elsewhere runs in seconds on an ordinary Linux CI box, or straight on your laptop against the dev server you already have running.

Your existing tests come along unchanged:

  • +
    Maestro suites run with rnx maestro test as a drop-in for the maestro CLI. Your .maestro/*.yaml files work as they are.
  • +
    Detox suites run with rnx detox, which remaps the detox import to the rnx driver inside your own Jest setup.
  • +
    New Maestro tests can be written as YAML, authored from live actions, or generated with rnx maestro generate "log in and post a photo".

Every run can also upload a recording: a link your whole team opens to watch it, scrub through the steps, and inspect what the app did, with pass/fail indexed in your dashboard and posted to the pull request.

The path to your first green test in CI

  1. +
    Run a suite locally against your dev server. If you use Detox, start at Detox suites instead. No account needed.
  2. +
    Run it on every pull request with the Contrast GitHub App. Your repo keeps zero secrets; results post to the PR as a comment and a check.
  3. +
    Read the results in the dashboard: every run with pass/fail, per-step traces, and a recording link, filterable by repo, branch, or pull request.

Which lane fits

you haveusepage
.maestro/ flowsrnx maestro testMaestro suites
Detox e2e specsrnx detoxDetox suites
no tests yetrnx maestro init, or rnx maestro generate "<goal>"Maestro suites, Generate a Maestro test
GitHub PRs to gatethe GitHub AppTests in CI

Local runs and CI exit codes are free and need no account. Recordings and dashboard runs ride your team’s plan; see Plans.