用 agent-device 补齐移动端真机测试
文章基于 agent-device 0.21.31,介绍 iPhone 签名测试应用准备和 Android 真机选择方式。重点覆盖商店版本升级、重装与备份恢复,以及首次启动系统弹窗等真机场景。
原文暂未完整获取,基于公开信息的快读
移动端自动化能点通页面,还不等于覆盖了用户升级、重装和恢复数据的过程。dev.to 的这篇文章基于 agent-device 0.21.31,记录作者接入真机、准备 iPhone 签名测试应用的做法,并讨论商店版本升级、备份恢复和首次启动弹窗等测试场景。
目前能确认什么
agent-device 用与模拟器相同的命令驱动真机,但接入条件不同。iPhone 需要安装经过开发证书签名的 XCTest runner,由它读取屏幕、执行点击;Android 真机则需要按连接方式显式选择。给出的节选没有展开 Android 的具体操作。
iPhone 的准备工作不止签名。作者还列出了 Mac 开发工具安全设置、手机上的「Enable UI Automation」,以及保持屏幕亮起和解锁等条件。设备侧和 Mac 侧的设置需要分别检查。
作者关注的测试包括:用 TestFlight 构建覆盖已有 App Store 版本、删除重装后恢复备份,以及首次启动时系统授权弹窗与应用页面的出现顺序。他们通过 iCloud Drive 中备份文件的大小和修改时间,检查安装前后文件是否被覆盖。
广告也是差异之一。节选指出,Google Mobile Ads SDK 会把模拟器视为测试设备;作者因此在真机上观察真实广告请求,并通过 logcat 判断加载结果。
我的判断
这篇文章最有用的地方,是把测试对象从页面操作扩展到了安装和数据状态。
对维护已上线应用的团队,升级后数据是否保留、备份能否恢复,应当成为独立用例。覆盖安装与删除重装会产生不同的初始状态,不能只跑一遍启动流程就算通过。
文件大小和修改时间只能提供备份是否变化的线索,不能证明恢复后的数据完整,仍需核对应用里的实际内容。
现有节选也不足以直接搭建完整流程:Android 设备选择步骤尚未给出,重装后如何稳定准备目标授权状态也没说清。TestFlight 覆盖安装会出现可能丢失数据的警告,作者建议自动化在此停下交给人工,这个边界值得保留。