测试 T3 Mobile
打开设备
先调用 device_list,再用选定的主机 ID 和设备 ID 调用 device_open。 T3 会启动该设备,并在 Device 面板中显示其实时画面。遵循它返回的 quickStart,每次操作都使用完全一致的 agentDevice.command 以及全部 targetArgs。使用 device_screenshot 查看屏幕。
如果 T3 的设备工具或所选设备不可用,请报告阻塞原因并停止验证。不要安装或改用另一套自动化系统。
使用隔离的后端
复用本任务里健康的后端。否则从仓库根目录运行 vp run dev,保留它的终端会话,并从 dev-runner 的输出中读取实际的后端端口。使用该工作树(worktree)中被忽略的 .t3 状态。绝不要对着 ~/.t3/userdata 运行。此流程不需要 Browser 面板。
使用有实际内容的项目(project)和对话线程(thread)数据进行测试。仅在检查 SQLite 或向其中灌入数据时,阅读共享的 SQLite 夹具参考。在写入夹具之前,先停止测试服务器。
启动 T3 Code Dev
在所选设备主机上,进入正在测试的检出目录并运行:
vp run mobile:install <ios|android> <device-id>这会为该检出的原生指纹安装开发客户端:几秒内即可从设备、本地缓存或共享缓存装好;仅当还没有任何机器拥有该指纹时才构建一次:在 Blacksmith 上的 Mobile Dev Client 工作流中构建,条件是 HEAD 已推送且 gh 可以分发这次构建(该命令会等待);否则就在本地构建(5–15 分钟,日志写入它所指定的文件)。恰好只启动了一台设备时,可以省略设备 ID。它会打印一行 JSON;失败时会指出下一条命令。除非用户禁止,移动端验证都包含这一步。
对于你在别处的 agent-device 会话中打开的设备(设备池、云端或远程主机),从你打开该会话时所在的目录运行 vp run mobile:install <ios|android> --session <s>。它把已缓存的构建安装到该会话中(ARM Android 设备使用 --abi arm64-v8a;--metro <url> 还会让它连上 Metro 并打开),并且从不会进行构建。
启动 vp run dev:client,工作目录为 apps/mobile;或者复用属于此检出的一个健康 Metro。用 AgentDevice 的 open com.t3tools.t3code.dev <url> 以及返回的全部目标参数,打开它打印出的开发客户端 URL。 该设备必须能够同时访问 Metro 和隔离的后端。 如果开发者界面会挡住截图或点击,就把 &disableAutoLaunch=1&disableFab=1 追加到开发客户端 URL 的查询字符串中;SDK 58 开发客户端会在应用加载之前应用这些偏好。
配对并验证
使用仓库根目录中的辅助脚本,把返回的可执行文件和目标参数分别存入 agent_device_command 与 Bash 数组 agent_device_target_args:
.agents/skills/test-t3-mobile/scripts/pair-client.sh \
<server-port> <base-dir> <device-reachable-backend-origin> \
"$agent_device_command" "${agent_device_target_args[@]}"它会签发一份新的凭据,并通过 AgentDevice 打开 T3 Code Dev 已有的配对路由。如果后端就在设备主机上,iOS 使用 http://127.0.0.1:<server-port>,Android 使用 http://10.0.2.2:<server-port>。如果后端在远程,则使用它可以到达的源(origin)。
确认预期的项目会出现,走通受影响的流程,并采集证据。迭代期间保留该应用和环境(environment)。收尾时,移除一次性连接,关闭 AgentDevice 会话,调用 device_close,并且只停止你自己的后端进程和 Metro 进程。