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".
# 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.