emulator-testinglisted
Install: claude install-skill uwuclxdy/agenticat
# Emulator Testing
Drive a booted Android emulator or iOS simulator from the CLI for agent-in-the-loop testing: launch it headless, wait for a real boot, act on it with `adb`/`simctl`, verify with a real file parser (not a vibe check), shut it down clean.
**Out of scope**: installing the Android SDK, creating AVDs, or setting up Xcode/simulators.
Assume `$ANDROID_HOME`/`PATH` and an existing AVD, or Xcode + simulator runtimes, are already in place. This skill is about driving them.
§2's `adb` primitives work unmodified against a real physical device over USB (same commands, target it with `adb -s <device_serial>`). §1's boot/lifecycle flags and §4's `simctl` lane are emulator/simulator-only and don't apply to physical hardware.
## Decision Tree
```
Target platform?
├─ Android → live on this host → §1 boot the emulator → §2 drive it → §3 Flutter tests
└─ iOS → needs a Mac → run over ssh to your macOS host → §4 simctl lane → §3 Flutter tests
```
---
## 1. Android Emulator Lifecycle
### Headless Boot
```bash
emulator -avd <avd_name> \
-no-window -no-audio -no-boot-anim \
-gpu swiftshader_indirect \
-no-snapshot-save \
-read-only &
```
| Flag | Effect |
|---|---|
| `-no-window` | no graphical window; drive it purely over `adb`/console. Standard flag for a headless/CI box |
| `-gpu swiftshader_indirect` | software GLES/Vulkan rendering on the CPU; the only reliable renderer with no display server |
| `-gpu host` | passes through the host GPU (faster), but fai