用途:在 Android 应用发布前,系统化审查界面流程的状态覆盖与恢复体验,核心问题是每个状态分支应展示什么,而不是选用哪种测试框架或断言库。适用请求包括验证 Android UI 状态、检查加载/空/错误流程、识别屏幕边界情况。
主要能力:确认用户可见路径、目标设备行为与关键失败状态;构建状态矩阵,覆盖 loading、content、empty、error、offline、stale-data、权限被拒、操作后确认等状态;识别每个分支所属的屏幕、Activity、目的地与状态持有者;在示例应用中验证恢复体验、无障碍、配置变更与返回栈行为。
使用方式:当任务是状态设计与恢复 UX 时使用本技能;当缺失的是断言或自动化时,转交 android-testing-ui;若涉及无障碍,可交接 android-compose-accessibility。资料给出的示例命令包括:cd examples/orbittasks-compose && ./gradlew :app:connectedDebugAndroidTest;cd examples/orbittasks-xml && ./gradlew :app:connectedDebugAndroidTest;python3 scripts/eval_triggers.py --skill android-ui-states-validation。
适用场景:发布前的状态覆盖审查;需要为权限被拒、断网、数据过期等情况设计恢复 UI;希望在可观察、可测试的前提下处理深链、Intent 与权限提示。
限制与守则:将加载、空、错误、离线、权限被拒视为一等 UI 状态;不要用通用失败页掩盖瞬时提示、持久错误与可用但过期内容之间的区别;不要在可复用组件中隐藏导航或权限副作用;避免在仓库或网络层直接触发导航;避免在多个位置硬编码请求码或路由字符串;不要以测试替代产品对失败态应展示内容的决策。官方参考包括 Android UI 层架构、运行时变更、UI 指南与无障碍文档。