AskUIDocs
Guides

Test an Android app

End-to-end, define the device, boot it, write the test case, run it, and analyze the failure.

The whole journey for one goal: a passing (or usefully failing) test against an Android app. Each step links to the feature page with the full detail.

1: Define the device

Emulator or real phone:

  • Emulator: create an Android emulator profile: device type, Android version, lifecycle. No phone needed; missing SDK tooling is a one-click Set up.
  • Real phone: enable USB debugging, plug it in, Add as profile from the discovered list: Android phone.

2: Start it

Start on the profile card. First emulator boot takes minutes, the card walks through the states (Set up → Creating → Booting → Ready). Green dot = the device is an available test environment.

3: Write the test case

Create the case under tests/ and name the target device in it. Android-specific craft:

  • Name apps as the user sees them ("open the Calculator app"), not by package id, the agent works the launcher like a person.
  • Verify the app is installed first. Emulator images are lean; a stock Google-APIs image ships without Calculator, for example. Either state it as a precondition or pick an app the image has (Settings, Chrome, Clock).
  • Steps like swipes and the app drawer work in plain language: "open the app drawer", "swipe down to open notifications".
tests/open_clock_android.md
# Open the Clock app

Run this on the **Pixel 9** device.

## Preconditions
- The device shows the home screen.

## Steps
1. Open the app drawer.
2. Launch the **Clock** app.

## Postconditions
- Test passes if the Clock app is open and shows the time.

4: Run it and watch

Pick the Android profile in Run on, press Run, and open the Runs page, the conversation streams live: every decision, tap, and device screenshot as it happens.

5: Analyze the result

The run report gives per-step expected vs. actual with a screenshot each, your incident log when something failed. The conversation log holds the complete execution record. Remember the agent may have taken a different path than you imagined, judge the result, not the path.

On this page