Skip to content
Rozmator

Download · v0.3.0

Get Rozmator

One desktop app to build, debug and run automations on real Android phones and iPhones. The same flows run headlessly from the CLI.

macOS 12 or later. Required for iOS automation (real iPhones, iPads and the Simulator need Xcode). Android works too.

  • macOS · Apple Silicon

    arm64 · .dmg · v0.3.0

    Checking for builds…
  • macOS · Intel

    x64 · .dmg · v0.3.0

    Checking for builds…

Requirements

Real Android devices & emulators

  • Android platform-tools (adb) on your PATH
  • USB debugging enabled on the phone, or an emulator
  • Wi-Fi debugging works too. No root needed

Real iPhones & iPads

  • A Mac with Xcode, signed in to an Apple developer team (a free Personal Team works, but its signing expires after 7 days)
  • Paired and trusted device with Developer Mode on (Settings → Privacy & Security)
  • iproxy: brew install libimobiledevice
  • One-time setup: Devices → Set up for real devices, or rozmator ios-setup --real-device
  • On real iPhones, shell, device-log and permission steps aren't available

iOS Simulator

  • A Mac with Xcode installed
  • One-time setup: rozmator ios-setup builds WebDriverAgent

Web & WebView

  • Chrome tabs on the device, or a debuggable WebView
  • Call WebView.setWebContentsDebuggingEnabled(true) in your app (on by default in debug builds)

Headless CLI

The rozmator CLI runs the same flow and suite files without the GUI. It writes JUnit XML, HTML and JSON reports, and exits with 0 when all tests pass, 1 on test failures and 2 on a usage or setup error.

Requires Node 20+. Build it with npm run build:cli and npm run build:driver. Keep MongoDB connection strings in a CI secret (AUTOMATOR_MONGO_URI) rather than a flag.

# list connected devices
$ rozmator devices

# check flows before running
$ rozmator validate flows/*.flow.json

# run a suite on every device
$ rozmator run android.suite.json --all-devices \
    --junit reports/junit.xml --html reports/report.html

# one flow with variables and retries
$ rozmator run login.flow.json -d emulator-5554 \
    --var user=alice --retries 2