Repeato iOS and Android Test Recording: A Practical Guide

Repeato iOS and Android Test Recording: A Practical Guide

Repeato records tests on both iOS and Android, but the setup path differs between platforms. iOS requires Xcode and either a simulator or provisioned real device. Android needs ADB and either an emulator or USB-connected device with debugging enabled.

This guide covers both paths in detail, plus practical tips for getting clean, reliable recordings.

Android Test Recording

Prerequisites

Before recording on Android, you need:

  1. ADB (Android Debug Bridge) — part of the Android SDK Platform Tools. Install via Android Studio or download standalone from developer.android.com.
  2. A device or emulator:
    • Emulator: Create one via Android Studio's AVD Manager (Tools → Device Manager → Create Virtual Device)
    • Real device: Enable Developer Options (tap Build Number 7 times in About Phone), then enable USB Debugging

Verify ADB can see your device:

adb devices
# List of devices attached
# emulator-5554  device

Connecting in Repeato

  1. Open Repeato and create or open a project
  2. In the device selector, your connected emulator or device should appear automatically
  3. If using a real device and it doesn't appear, run adb devices in terminal to confirm ADB sees it — if it does, try restarting Repeato

Recording an Android Test

  1. Click New Test
  2. Select your app (.apk file) — Repeato installs it on the device if not already installed
  3. Click Record
  4. The app launches on the device; the Repeato panel mirrors the screen live
  5. Interact with the app — tap, type, scroll, swipe
  6. Every interaction is captured as a step with a screenshot
  7. Click Stop when done

Tips for Android recording:

  • Use an emulator for consistency — physical Android devices vary in resolution and density, which can affect visual matching
  • Set a fixed screen size on your emulator (720×1280 is a common baseline)
  • Avoid recording while animations are still running — wait for transitions to complete before performing the next action, or Repeato may capture mid-animation screenshots that don't reproduce reliably
  • Text input: Repeato captures keyboard input as text, not individual keystrokes — this generally replays reliably across runs

iOS Test Recording

Prerequisites

iOS recording requires macOS with Xcode installed. There's no Windows support for iOS testing in Repeato.

  1. Xcode — download from the Mac App Store (free, ~15GB)
  2. iOS Simulator — included with Xcode. Open Simulator from Xcode → Open Developer Tool → Simulator and boot a device
  3. Real device (optional): Requires an Apple Developer account and device provisioning

Connecting in Repeato

With the iOS Simulator running:

  1. Open Repeato
  2. In the device panel, select the booted Simulator — it appears automatically
  3. Select your app (.app bundle, not .ipa)

For real iOS devices, you need to install the Repeato runner app on the device via Xcode. This is more involved — consult the Repeato documentation for the current provisioning flow, as it changes with iOS versions.

Recording an iOS Test

The recording flow is identical to Android:

  1. Click New Test
  2. Select your .app file
  3. Click Record
  4. Interact with the app in the Simulator
  5. Click Stop

Tips for iOS recording:

  • Use a consistent simulator model — screen dimensions differ between iPhone 13, 14, 15. Pick one model and stick to it across your team
  • Disable hardware keyboard in Simulator — go to I/O → Keyboard → Connect Hardware Keyboard and make sure it's unchecked. Use the software keyboard so Repeato captures taps correctly
  • Home indicator area: The iPhone home indicator at the bottom can interfere with swipe gestures recorded near the screen edge — leave some margin
  • Slow animations in Simulator: Debug → Slow Animations in Simulator is useful for recording complex transitions — you get cleaner screenshots between steps

Handling Gestures

Beyond basic taps, Repeato supports:

Swipe: Record by dragging on the live screen preview. Repeato captures the start and end points of the swipe.

Long press: Tap and hold in the Repeato UI. The step is recorded as a long press with a specified duration.

Pinch/zoom: Supported via Repeato's gesture controls panel — you specify the gesture type and coordinates rather than recording it directly from a multi-touch interaction.

Scroll: Recorded as a swipe. For infinite-scroll scenarios where you need to scroll until something appears, use Repeato's "scroll until element found" step type rather than recording a fixed swipe count.

Managing Platform Differences

If your app has both iOS and Android versions, you'll need separate test suites — visual templates don't transfer between platforms since the UIs typically differ.

Organize your project accordingly:

  • Create an iOS project and an Android project separately
  • Or use a single project with test suites named by platform: "Login — iOS", "Login — Android"

Some teams maintain a shared step library for flows that are visually identical on both platforms, but this requires significant discipline to keep in sync.

Re-recording Individual Steps

When an app update breaks a specific step, you don't need to re-record the entire test:

  1. Open the test
  2. Click on the failing step
  3. Click Re-record Step
  4. Perform just that interaction on the live device
  5. The step updates with the new screenshot and coordinates

This targeted re-recording is one of Repeato's practical strengths — maintenance is surgical rather than wholesale.

Exporting and Sharing Tests

Repeato projects are stored as files on disk. You can:

  • Commit the project folder to git for team sharing
  • Export specific tests to share with colleagues
  • Include the project in CI by pointing the Repeato CLI at the project folder

For teams, keeping the Repeato project in the same repository as the app (in a tests/ directory) keeps tests versioned alongside the code they test.

Read more

Start now free