SuperAPI AI 工具集

test-agent-phone

测试与质量

查看项目

更新于 11-03 23:38

技能介绍

用途

该技能用于在改动 Agent Phone 手机端行为时,选择并运行聚焦的验证:wire 协议、Android instrumentation、模拟器检查或自更新检查。核心原则是按变更涉及的契约选最便宜的检查,而不是默认跑全矩阵。

主要能力

  • 运行 TypeScript 侧测试,包括 agent-phone-vectors、agent-phone-wire 与 computer-use-action-schema 测试。
  • 运行 Gradle 的 lint、单元测试、assembleDebug 与 fixture 构建。
  • 在明确是有意修改 wire 协议时,按顺序重新生成 fixture:先以 OPENSTEER_WRITE_AGENT_PHONE_VECTORS=1 跑向量测试,再以 OPENSTEER_WRITE_WIRE_FIXTURE=1 跑 Kotlin 测试,然后去掉写标志重跑两者。
  • 选择 apps/host/src/agent-phone/ 下的单个设备测试文件:setup/control、view/edit、saved login、real agent、update。
  • 支持原生编码/生命周期验收(需 ffmpeg/ffprobe 与空闲的 emulator-5580 端口)、Keystore 身份回归(专用未配对模拟器)、fixture receipt 回归、Expo 查看器验收、显示性能基准与长时浸泡测试。

使用方式

需预先安装 PostgreSQL、Android SDK 及选定的命名 AVD(opensteer-agent-phone-30、-33 或 -36),harness 以无头方式启动。通过 OPENSTEER_AGENT_PHONE_API 指定 API 边界,用 ANDROID_SERIAL 选择调用方拥有的设备。示例:

  • OPENSTEER_AGENT_PHONE_API=36 pnpm test:agent-phone -- apps/host/src/agent-phone/agent-phone.device.test.ts
  • OPENSTEER_AGENT_PHONE_API=33 pnpm test:agent-phone apps/host/src/agent-phone/agent-phone-display.device.test.ts -t 'native phone editing'
  • ANDROID_SERIAL=emulator-5592 OPENSTEER_AGENT_PHONE_API=36 OPENSTEER_AGENT_PHONE_SELF_UPDATE=1 pnpm test:agent-phone apps/host/src/agent-phone/agent-phone-update.device.test.ts 显示性能基准需先启动专用模拟器并安装 Playwright 固定版本的 Chromium,再运行 ANDROID_SERIAL=emulator-5600 OPENSTEER_AGENT_PHONE_API=33 pnpm bench:phone-display。

适用场景

适用于修改 Agent Phone 手机行为后的验收,包括 wire 协议变更、显示/编辑、保存登录、真实智能体、自更新、原生编码与生命周期、Keystore 身份、fixture receipt、Expo 查看器、显示性能及长时间浸泡等。

限制与注意事项

设备套件会卸载包并修改设置;设备与数据库套件必须串行执行;每个模拟器/USB 手机只保留一个负责方;不得选取临时的物理手机。真实智能体运行需设置 OPENSTEER_AGENT_PHONE_AGENT_ENGINE=claude 或 codex,并具备该引擎的登录状态与模拟器和 Runner 均可访问的非环回 IPv4 源;10.0.2.2 不是共享源;引擎不可用时应跳过而非视为通过。不要手动用产品密钥替换更新测试自建的旧基线。ADB 检查不能证明 WebUSB。完成或失败后需按记录停止自行启动的服务、捕获循环、模拟器、ADB 服务器与 Gradle 守护进程,明确指定为调用方拥有的设备保持运行;手工证据需校验 summary.sha256 或真实智能体的 SHA256SUMS 并遮蔽 PIN 数字。