← ClaudeAtlas

mobile-visual-testinglisted

Drive and screenshot a running React Native/Expo app on a real device surface for visual verification — adb/xcrun-simctl screenshot capture, Maestro YAML flows (free local CLI only, Maestro Cloud is paid and out of scope), screenshot-diff conventions per platform/device size, and the mobile-specific flake sources (animation settle, keyboard state, permission dialogs) that produce false failures. The device analogue of webapp-visual-testing. Use whenever a Forge agent must confirm rendered mobile output rather than trust the code — forge-mobile-verifier's render-and-observe step, or a forge-mobile self-check before handoff.
BenMacDeezy/Orns-Forge · ★ 0 · Testing & QA · score 72
Install: claude install-skill BenMacDeezy/Orns-Forge
# Mobile visual testing (device-surface) Reading the diff is not evidence on mobile either. Evidence is a screenshot of the thing actually rendering on an emulator/simulator, captured the way `forge-mobile-verifier` requires — never a browser, never inferred from code. This skill is the HOW; the calling agent's contract decides when to invoke it. ## Tool ladder 1. **adb (Android) / xcrun simctl (iOS, macOS hosts only) — always available first choice** when a booted emulator/simulator exists. Check `adb devices` or `xcrun simctl list | grep Booted` before assuming neither is running. - **Android**: `adb exec-out screencap -p > shot.png` captures the current screen without leaving a file on-device; drive interaction with `adb shell input tap <x> <y>` / `adb shell input swipe ...`; watch `adb logcat` in the same session to catch red-screen JS errors and native crashes while you interact. - **iOS**: `xcrun simctl io booted screenshot shot.png`; launch/deep-link with `xcrun simctl launch`/`openurl`; tail the simulator's log stream for JS/native errors during the session. 2. **Maestro — free local CLI only.** Maestro (Apache-2.0, mobile.dev) is a YAML-flow UI test runner that drives real interaction (tap, swipe, input, assertions) instead of raw coordinate taps, with built-in retry/tolerance for animation timing. **Maestro Cloud (parallel hosted device runs, priced per concurrent device) is a separate paid product and is