SuperAPI AI 工具集

mobile-sim-verification

测试与质量

查看项目

更新于 10-20 01:49

技能介绍

移动模拟器验证是 cdp-verification 的移动端对应方案。由于手机上没有 CDP,输入通过 Maestro 驱动,证据来自 simctl 截图和录屏,状态来自真实的本地 API 和中继服务。该技能定义了“规则”(何为有效证据)和“机制”(如何实现)。

用途:在 iOS 模拟器上对 apps/mobile 的行为进行端到端验证,确保应用在真实服务环境下表现正确。

主要能力:

  • 使用 Maestro 执行登录等用户输入流程。
  • 通过 simctl 捕获截图和录屏,用于检查界面状态和闪烁问题。
  • 提供 stand-in-host.ts 脚本,模拟宿主机在线状态,无需第二台机器即可测试。
  • 支持本地 API、中继、实时服务和 Metro 的启动管理。
  • 提供证据收集命令,如设置状态栏、录制视频、转换帧、切换语言和文字大小。

使用方式:

  1. 启动所需服务:在 Superset 终端中创建本地工作区命令,分别启动 API、中继(循环运行以应对崩溃)、实时服务和 Metro。
  2. 准备应用:确保模拟器上安装了 dev-client 构建,必要时重新构建原生依赖。
  3. 登录:运行 maestro test apps/mobile/.maestro/flows/sign-in.yml。
  4. 处理付费墙:为开发账户的组织临时添加订阅记录。
  5. 测试宿主机场景:运行 stand-in-host.ts 注册宿主机并保持在线。
  6. 收集证据:使用 simctl 截图、录屏,并用 ffmpeg 提取帧。
  7. 执行边界测试:包括冷启动、依赖停止、恢复、后台切换、快速状态变化、长名称、德语和CJK语言环境、最大文字大小。
  8. 清理:重置语言、文字大小、状态栏,停止服务,删除测试宿主机和临时订阅。

适用场景:移动端开发过程中的功能验证、缺陷排查、多设备状态模拟。

限制:

  • 仅适用于 iOS 模拟器,依赖本地 API 和中继服务。
  • 需要安装 dev-client 构建,原生依赖变化时需要重新构建。
  • 部分操作(如添加订阅)会修改数据库,需谨慎并事后清理。
  • 无 Mac 环境时需使用 EAS 云模拟器,步骤有所不同。
  • 文档未提供所有可能场景的详细步骤,部分事实暂未提供。