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:
- ADB (Android Debug Bridge) — part of the Android SDK Platform Tools. Install via Android Studio or download standalone from developer.android.com.
- 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
- Emulator: Create one via Android Studio's AVD Manager (
Verify ADB can see your device:
adb devices
# List of devices attached
# emulator-5554 deviceConnecting in Repeato
- Open Repeato and create or open a project
- In the device selector, your connected emulator or device should appear automatically
- If using a real device and it doesn't appear, run
adb devicesin terminal to confirm ADB sees it — if it does, try restarting Repeato
Recording an Android Test
- Click New Test
- Select your app (
.apkfile) — Repeato installs it on the device if not already installed - Click Record
- The app launches on the device; the Repeato panel mirrors the screen live
- Interact with the app — tap, type, scroll, swipe
- Every interaction is captured as a step with a screenshot
- 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.
- Xcode — download from the Mac App Store (free, ~15GB)
- iOS Simulator — included with Xcode. Open Simulator from
Xcode → Open Developer Tool → Simulatorand boot a device - Real device (optional): Requires an Apple Developer account and device provisioning
Connecting in Repeato
With the iOS Simulator running:
- Open Repeato
- In the device panel, select the booted Simulator — it appears automatically
- Select your app (
.appbundle, 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:
- Click New Test
- Select your
.appfile - Click Record
- Interact with the app in the Simulator
- 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 Keyboardand 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 Animationsin 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:
- Open the test
- Click on the failing step
- Click Re-record Step
- Perform just that interaction on the live device
- 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.