SuperAPI AI 工具集

android_ui_verification

通用与其它

查看项目

更新于 10-15 23:41

技能介绍

用途:在 Android 模拟器上对 React Native 或原生 Android 应用进行自动化端到端 UI 测试与验证,通过 ADB 实现自主交互、状态验证和视觉回归检查。适用场景包括验证 UI 变更、自主调试布局或交互缺陷、在手动测试过慢时确认功能,以及为 PR 文档自动截图。

前提条件:模拟器已运行;adb 已安装并加入 PATH;应用处于 debug 模式以便访问 logcat。

工作流程:

  1. 设备校准:交互前用 adb shell wm size 确认屏幕分辨率,布局常被缩放,应以返回的物理尺寸为坐标计算基准。
  2. UI 检查:用 adb shell uiautomator dump /sdcard/view.xml && adb 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>(如 66 表示 Enter)。
  4. 验证与报告:视觉验证用 adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png ./artifacts/test_result.png;分析验证用 adb logcat -d | grep "ReactNativeJS" | tail -n 20 实时监控 JS 控制台日志。生成文件应统一放入 artifacts/ 文件夹。

最佳实践:交互与验证之间加入短暂等待(如 1-2 秒)以等待动画;点击取边界算术平均值最可靠;在代码中使用独特日志标记(如 ✅ Action Successful)便于 grep 验证;若 uiautomator dump 失败或找不到预期文本,应停止排查而非盲目点击。

限制:仅在任务明确匹配上述范围时使用;输出不能替代特定环境的验证、测试或专家审查;若缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。