用途:在 Bitrise RDE(远程开发环境)上对 iOS 应用执行 AI QA Agent 端到端测试。流程为:确保名为 "Bitrise AI QA Agent" 的 RDE 模板存在,创建 QA 会话,最后收集测试结果。
主要能力与流程:
- 模板准备:运行同目录下的 ensure-template.sh(幂等),复用或通过 POST /v1/workspaces/{ws}/templates 创建模板,模板使用镜像 osx-26-edge、机型 g2.mac.m2pro.6c-14g,脚本来自 github.com/bitrise-io/bitrise-ai-qa-agent。命令:TEMPLATE_ID=$(bash "<skill-dir>/ensure-template.sh" "<workspace-id>")。脚本只向 stdout 输出模板 ID,进度走 stderr。
- 安装 CLI:若 ai-qa-agent-cli 不在 PATH,可执行:command -v ai-qa-agent-cli >/dev/null || curl -fsSL https://raw.githubusercontent.com/bitrise-io/ai-qa-agent-cli/main/install.sh | sh。安装到 /usr/local/bin,回退 ~/.local/bin;可用 VERSION、BIN_DIR 覆盖。兜底方式为 Go ≥ 1.25 时执行 go install github.com/bitrise-io/ai-qa-agent-cli@latest。
- 创建会话:SESSION_ID=$(ai-qa-agent-cli session create --workspace "<workspace-id>" --template "$TEMPLATE_ID" --name "qa-$(date +%s)" --upload "<path-to-app>" 2> >(tee /tmp/qa-create.log >&2))。可选用 --qa-prompt、--device-type、--ios-version、--xcode-version。会话 ID 在 stdout,进度与 UI 链接在 stderr。UI 链接形如 https://app.bitrise.io/dev-environments/<workspace-id>#/sessions/<session-id>。
- 收集结果:ai-qa-agent-cli session collect "$SESSION_ID" --workspace "<workspace-id>",结果落在 ./qa-agent-results/<session-id>/(junit.xml、screenshots、claude.log)。可选执行 ai-qa-agent-cli upload-results ./qa-agent-results/<session-id>/ 发布到可视化服务并得到结果 URL。
必要输入:Workspace ID、待测 .app 或 .ipa 本地路径、Bitrise PAT(读 $BITRISE_PAT,否则 ~/.bitrise/pat,都没有则需导出)、可选 QA 提示词、可选设备/iOS/Xcode 版本。省略 --qa-prompt 时使用 CLI 内置冒烟测试(安装、启动、操作 UI)。
限制与注意:--upload-destination 须等于模板的 QA_WATCH_DIR(默认 /tmp/bitrise-ai-qa-agent);用 session collect --no-stop 可保持 VM 存活以便调试(VM 内 tmux attach -t claude-auto),否则收集后 VM 停止,模板 60 分钟后自动终止;API 基础地址默认 https://api.bitrise.io/rde,可用 $BITRISE_RDE_API_BASE_URL 覆盖,鉴权为 Authorization 头中原始 PAT(无 Bearer 前缀);运行 helper 前可设 $QA_TEMPLATE_NAME 强制使用其他模板名。