android_ui_verification - SKILL
name: android_ui_verificationdescription: Automated end-to-end UI testing and verification on an Android Emulator using ADB.risk: safesource: communitydate_added: “2026-02-28”Android 用户界面验证技能此技能提供了一种使用 ADB 命令在 Android 模拟器上测试 React Native 应用程序的系统方法。它允许进行自主交互、状态验证和视觉回归检查。何时使用在 React Native 或原生 Android 应用中验证 UI 更改。自动调试布局问题或交互错误。当手动测试太慢时确保功能正常。捕获自动化截图用于 PR 文档。 前置条件Android 模拟器正在运行。adb已安装并已添加到 PATH。在调试模式下的应用以便访问 logcat。 工作流程1. 设备校准在进行互动之前请始终验证屏幕分辨率以确保点击坐标准确。adb shell wm size注意布局通常会被缩放。请使用返回的物理尺寸作为坐标计算的基础。2. UI 检查状态发现使用uiautomator转储来查找 UI 元素按钮、输入的精确边界。adb shell uiautomator dump /sdcard/view.xmladb pull /sdcard/view.xml ./artifacts/view.xml在view.xml中搜索text、content-desc或resource-id。bounds属性[x1,y1][x2,y2]定义了可点击区域。3. 互动指令点击:adb shell input tap x y使用元素边界的中心。滑动adb shell input swipe x1 y1 x2 y2 duration_ms用于滚动。文本输入:adb shell input text message注意对特殊字符支持有限。关键事件adb shell input keyevent code_id例如Enter 键为 66。4. 验证与报告视觉验证在交互后截取屏幕截图以确认界面变化。adb shell screencap-p/sdcard/screen.pngadb pull /sdcard/screen.png ./artifacts/test_result.png分析验证实时监控 JS 控制台日志以检测错误或记录成功信息。adb logcat-d|grepReactNativeJS|tail-n20清理始终将生成的文件存储在artifacts/文件夹中以满足项目组织规则。 最佳实践等待动画在交互和验证之间总是添加一个短暂的等待例如 1-2 秒。中心抽头计算[x1,y1][x2,y2]的算术平均值以获得最可靠的抽头目标。日志标记在代码中使用不同的日志消息例如✅ 操作成功以便于使用grep进行验证。快速失败如果uiautomator dump失败或未找到预期的文本请停止并进行排查而不是盲目点击。限制仅当任务明确符合上述描述的范围时才使用此技能。不要将输出视为环境特定验证、测试或专家审查的替代品。如果缺少所需的输入、权限、安全界限或成功标准请停下来并要求澄清。