SuperAPI AI 工具集

1k-ui-verify

测试与质量

查看项目

更新于 10-16 02:39

技能介绍

用途:驱动正在运行的 OneKey 应用,验证 UI 改动后的真实视觉与交互行为,避免只从代码猜测结果。

后端选择:桌面(Electron)使用 CDP 9222 + playwright-core,渲染进程为 Chromium,开发模式已启用;iOS/Android 原生 RN 使用 agent-device,连接真实模拟器、仿真器或设备并读取 RN 组件树;Web 与扩展不在本技能范围内,应使用普通 Playwright/Puppeteer 连接开发 URL。playwright-core(^1.50.0)已是根依赖,桌面端无需安装;agent-device 为外部 CLI/MCP,需按其规则文件配置。

工作流:确认平台与预期/实际差异;启动对应平台应用(桌面 yarn app:desktop,RN 使用 /1k-dev-commands 的 Mobile DevSession 工作流);连接后端(CDP connectOverCDP 或 agent-device open);导航到目标界面,必要时截取 BEFORE 截图;复现交互并截取 AFTER 截图与控制台/日志;以截图作为证据报告,无截图不得声称已修复。选择器应锚定 testID,避免脆弱的文本/CSS 选择器,缺失时先为组件添加 testID。

桌面快速用法:先运行 yarn app:desktop,其 dev:main 会以 --remote-debugging-port=9222 --remote-debugging-address=127.0.0.1 启动 Electron。然后执行 node .skillshare/skills/1k-ui-verify/scripts/cdp-shot.mjs --out .tmp/ui/after.png,或加 --testid header-gift-action --click 点击指定 testID 并截图,脚本会连接主窗口、截图、可选点击并打印控制台错误。

RN 快速用法:agent-device open --platform ios 启动或附加模拟器与应用;agent-device metro reload 在编辑 src/node_modules 后重载,等待约 10-13 秒;agent-device click 'id="home-more-button"' 按 testID 点击,iOS 与 Android 均可用;agent-device fill 'id="amount-input"' "0.5" 按 testID 输入;agent-device screenshot --out .tmp/ui/rn.png 截图,PNG 是事实来源。注意命令是 click 而非 tap;开发性能浮层会吞掉其 HUD 区域内的点击,若点击提示 Tapped 但无变化,应关闭浮层或在空白处点击。建议使用 MCP 集成让智能体直接调用。

回归场景:根目录运行器 scenarios/regression.mjs 提供可复现的冻结/回归场景,每个场景声明后端(桌面/Web 用 cdp,RN 用 agent-device),cdp 后端按端口参数化,Web 可复用已运行的 Chrome。可用 node scenarios/regression.mjs list 列出场景,例如 dapp-cold-start-desktop、gift-storm-desktop、gift-storm-web、gift-storm-rn --platform ios;设置 REGRESSION=1 时若复现则退出码为 1,可作为 CI 门禁。gift-storm-rn 的选择器镜像自桌面并标记 VERIFY,依赖前需在真实设备上用 agent-device snapshot --json 确认。

相关技能:/verify 为通用运行并确认改动的框架,本技能是 OneKey 专用做法;/run 用于启动与截图;/1k-dev-commands 提供默认 RN DevSession 工作流、桌面启动与原生重建命令;/1k-cross-platform 用于需分别验证的平台特定行为。

限制:Web 与扩展不在本技能范围;agent-device 需外部配置;RN 场景选择器需在真机确认;未提供收费、价格或平台支持范围等信息。