Agent skill
android_ui_verification
Automated end-to-end UI testing and verification on an Android Emulator using ADB.
Install this agent skill to your Project
npx add-skill https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/android_ui_verification
SKILL.md
Android UI Verification Skill
This skill provides a systematic approach to testing React Native applications on an Android emulator using ADB commands. It allows for autonomous interaction, state verification, and visual regression checking.
When to Use
- Verifying UI changes in React Native or Native Android apps.
- Autonomous debugging of layout issues or interaction bugs.
- Ensuring feature functionality when manual testing is too slow.
- Capturing automated screenshots for PR documentation.
🛠 Prerequisites
- Android Emulator running.
adbinstalled and in PATH.- Application in debug mode for logcat access.
🚀 Workflow
1. Device Calibration
Before interacting, always verify the screen resolution to ensure tap coordinates are accurate.
adb shell wm size
Note: Layouts are often scaled. Use the physical size returned as the base for coordinate calculations.
2. UI Inspection (State Discovery)
Use the uiautomator dump to find the exact bounds of UI elements (buttons, inputs).
adb shell uiautomator dump /sdcard/view.xml && adb pull /sdcard/view.xml ./artifacts/view.xml
Search the view.xml for text, content-desc, or resource-id. The bounds attribute [x1,y1][x2,y2] defines the clickable area.
3. Interaction Commands
- Tap:
adb shell input tap <x> <y>(Use the center of the element bounds). - Swipe:
adb shell input swipe <x1> <y1> <x2> <y2> <duration_ms>(Used for scrolling). - Text Input:
adb shell input text "<message>"(Note: Limited support for special characters). - Key Events:
adb shell input keyevent <code_id>(e.g., 66 for Enter).
4. Verification & Reporting
Visual Verification
Capture a screenshot after interaction to confirm UI changes.
adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png ./artifacts/test_result.png
Analytical Verification
Monitor the JS console logs in real-time to detect errors or log successes.
adb logcat -d | grep "ReactNativeJS" | tail -n 20
Cleanup
Always store generated files in the artifacts/ folder to satisfy project organization rules.
💡 Best Practices
- Wait for Animations: Always add a short sleep (e.g., 1-2s) between interaction and verification.
- Center Taps: Calculate the arithmetic mean of
[x1,y1][x2,y2]for the most reliable tap target. - Log Markers: Use distinct log messages in the code (e.g.,
✅ Action Successful) to makegrepverification easy. - Fail Fast: If a
uiautomator dumpfails or doesn't find the expected text, stop and troubleshoot rather than blind-tapping.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
obsidian-clipper-template-creator
Guide for creating templates for the Obsidian Web Clipper. Use when you want to create a new clipping template, understand available variables, or format clipped content.
claude-code-expert
Especialista profundo em Claude Code - CLI da Anthropic. Maximiza produtividade com atalhos, hooks, MCPs, configuracoes avancadas, workflows, CLAUDE.md, memoria, sub-agentes, permissoes e integracao com ecossistemas.
lex
Centralized 'Truth Engine' for cross-jurisdictional legal context (US, EU, CA) and contract scaffolding.
odoo-inventory-optimizer
Expert guide for Odoo Inventory: stock valuation (FIFO/AVCO), reordering rules, putaway strategies, routes, and multi-warehouse configuration.
seo-cannibalization-detector
Analyzes multiple provided pages to identify keyword overlap and potential cannibalization issues. Suggests differentiation strategies. Use PROACTIVELY when reviewing similar content.
threejs-loaders
Three.js asset loading - GLTF, textures, images, models, async patterns. Use when loading 3D models, textures, HDR environments, or managing loading progress.
Didn't find tool you were looking for?