Mable 自动化测试控制台

云端排队和展示结果;接着模拟器或真机的 Mac agent 负责执行测试并回传报告。

访问权限

普通工程师查看测试结果不需要 token;Yangzhe merge / push 到 mable-app 后会由 GitHub Actions 自动触发测试。只有管理员临时手动排队或编辑用例时,才需要在这里填 dashboard token。

这个工具是什么

1. 先定位测试对象

  1. 打开 https://mable-testing.tomoai.io
  2. 查看 Jobs 和报告不需要 token。
  3. 在“本次测试对应的 app 版本”里填 commit / branch / build id。

2. 再确认 runner 在线

  1. Agents 表里应看到 mayamax-mac
  2. 状态应是“在线”或“执行中”。
  3. 模拟器用例需要 booted simulator;MayaMax 真机用例需要手机 awake + unlocked。

3. 最后排队并看结果

  1. Dry-run 只验证测试会如何执行,不触碰 app。
  2. 模拟器用户路径会用 Maestro 操作 app。
  3. Jobs 表会显示状态、关联提交、通过数和完整报告。

测试触发策略

行业通用做法

  • PR / push:跑快速质量门禁、Jest、case dry-run,并记录 commit SHA。
  • merge 到 main 或 release candidate:排队跑模拟器用户路径和真机 smoke。
  • nightly:跑更重的性能、完整 journey、跨平台矩阵。

登录/Auth 长期稳定方案

  • 不要让 CI 长期依赖真实 OAuth、短信、2FA 或生产账号。
  • 当前先测游客态、登录入口、protected route redirect 这些稳定 oracle。
  • 登录后路径应接 staging 测试账号、seed fixture,或用 app launch arguments / 测试 token 进入已登录态。

本次测试对应的 app 版本

一次正式 push / merge 后,mable-app GitHub Actions 会自动调用 POST /api/jobs,把 GITHUB_SHA、分支和 run id 写进这里。人工点击时也应手动填写,避免测试结果和代码版本脱节。

这台 Mac 的 runner

网页是云端控制台;插着设备的 Mac 才是真正执行测试的 runner。手机测试不要点 server-local 运行,应该先让 agent 在线,再 Queue job。

在这台 Mac 上启动 agent:

export MABLE_TESTING_SERVER_URL=https://mable-testing.tomoai.io
export MABLE_TESTING_AGENT_TOKEN=<agent-token>
export MABLE_TESTING_AGENT_ID=mayamax-mac
export MABLE_TESTING_AGENT_NAME="MayaMax Mac"
export MABLE_TESTING_AGENT_PLATFORMS=ios
export MABLE_TESTING_DEVICE_LABEL=MayaMax
npm run agent

普通工程师不需要 dashboard token。固定测试 Mac 才需要 agent token;不要把任何 token 发到群里或截图里。

aws secretsmanager get-secret-value \
  --region us-east-1 \
  --secret-id mable-testing/agent-token \
  --query SecretString \
  --output text

开始测试

真实模拟器 / 真机测试由 mayamax-mac agent 执行;dry-run 只检查 case 选择、命令展开、job/agent 协议,不会安装或点击 app。

Runner / 设备状态

加载中...

测试任务和结果

加载中...

测试用例

加载中...

用例编辑器

选择 case 后编辑 JSON。保存会写入 server 当前的 cases 目录。

最新操作 / 完整报告

还没有操作。