关于 android-ui-states-validation
用于发布前审查 Android 界面流程的 Skill,重点关注状态覆盖与恢复体验,而非选择测试框架。它引导团队建立状态矩阵,并确定相关界面及后续工作交接。
主要功能
- 01为界面流程建立状态矩阵
- 02审查加载、空内容、错误和离线状态
- 03检查权限与过期数据行为
- 04识别相关界面和状态持有者
- 05将自动化及无障碍工作交接
适用场景
- 01发布前审查 Android 流程
- 02查找错误或权限被拒后的恢复缺口
- 03检查 Android 界面的边缘情况
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ krutikjain/ android-agent-skills --skill android-ui-states-validation安装后在 Claude Code 中输入/android-ui-states-validation确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/official-links.mdpatterns.mdscenarios.mdscripts/run_examples.sh详细介绍
Android UI 状态验证
使用时机
- 当请求涉及以下内容时使用此技能:验证 Android UI 状态、检查 Android 加载/空内容/错误流程、处理 Android 屏幕边缘情况。
- 主要目标:在发布前审查 Android UI 流程中的空内容、加载、错误、离线及边缘情况行为。
- 当核心问题是状态覆盖范围和恢复体验,而不是选择哪种测试框架或断言库时,使用此技能。
- 此技能决定用户在状态矩阵的每个分支中应看到什么。
android-testing-ui仅通过断言和屏幕截图验证该设计。 - 当范围扩大时,交接给以下技能:
android-compose-accessibilityandroid-testing-ui
工作流
- 确认用户可见的使用旅程、目标设备行为以及需要关注的故障状态。
- 构建状态矩阵,视情况涵盖加载、内容、空内容、错误、离线、数据过期、权限被拒以及操作后确认等状态。
- 确定矩阵中各分支对应的所属屏幕、Activity、目标位置和状态持有者。
- 在示例应用中验证恢复体验、无障碍功能、配置变更和返回栈行为。
- 只有当缺失工作涉及断言或自动化,而非状态设计时,才交接给测试技能。
防护措施
- 将加载、空内容、错误、离线和权限被拒状态视为一等 UI 状态。
- 不要将导航或权限副作用隐藏在可复用的 UI 组件中。
- 优先使用生命周期感知 API,而非手动回调链。
- 确保深层链接、Intent 和权限提示可测试且可观察。
- 区分临时消息、持久错误状态和过期但仍可用的内容,不要将它们统统归为通用故障屏幕。
反模式
- 认为产品流程只需覆盖正常路径。
- 在多个位置硬编码请求代码或路由字符串。
- 直接从存储库或网络层触发导航。
- 发布的流程没有针对权限被拒或状态异常的恢复 UI。
- 用测试代替对产品在每种故障模式下应显示内容的判断。
示例
正常路径
- 场景:验证 OrbitTasks 的加载、内容和成功确认状态。
- 命令:
cd examples/orbittasks-compose && ./gradlew :app:connectedDebugAndroidTest
边缘情况
- 场景:在 XML fixture 中测试长内容、空列表和同步失败。
- 命令:
cd examples/orbittasks-xml && ./gradlew :app:connectedDebugAndroidTest
故障恢复
- 场景:避免将 UI 验证工作错误地分配给无障碍或仅负责测试的技能。
- 命令:
python3 scripts/eval_triggers.py --skill android-ui-states-validation
完成检查清单
- 实现路径明确、精简,并对应正确的 Android 界面。
- 已运行或更新相关示例命令和基准提示词。
- 请求涉及相邻技能时,已记录技能交接事项。
- 官方参考资料涵盖所选模式以及主要迁移或故障排查路径。
官方参考资料
评论
支持 Markdown