批量运行与定时任务
在 Web UI 中一次选择多个测试计划串行执行,或按 cron 表达式创建定时回归任务。
当你已经为一个 App 准备了多份测试计划(plan),Munk AI 支持在 同一台设备 上按顺序批量执行它们;也可以把同样的配置保存为 定时任务,在固定频率自动触发。
这篇文档介绍 Web UI 中的完整操作流程:从 Dashboard 进入批量运行界面、立即提交一次运行、创建与管理定时任务,以及如何在运行记录里查看结果。
你将完成什么
- 从 Dashboard 进入「运行与定时任务」界面
- 选择 App、设备和多个 plan,立即批量运行
- 勾选定时任务选项,配置执行频率并创建 schedule
- 在「定时任务」列表中查看、启停与管理已有任务
前置条件
开始之前,请确认:
- 本地服务已启动:
munk serve --host 127.0.0.1 --port 16888 - 已在 Settings 中配置好 AI provider
- 已在 Apps 中创建目标 App,并在 Tests 中至少有一份可运行的 plan
- 目标设备已在 Devices 中可见且可用
提示:定时任务依赖 munk serve 常驻运行。如果本地服务停止,到了触发时间也不会自动执行。
1. 进入批量运行界面
打开 Web UI 后,在 Dashboard(首页看板) 或 Tests(测试) 页面右上角,点击 「运行测试」,即可进入 /runs/new 页面。
页面标题为 「运行与定时任务」,整体分为三个区域:
- 上方:任务基础配置(名称、App、设备、是否启用定时任务)
- 左下:可选 Plans 列表
- 右下:已选 plan 的执行顺序与提交按钮

2. 立即批量运行
若你只想 马上跑一轮,不要勾选「启用定时任务」,按以下步骤操作即可。
2.1 选择 App 与设备
- 在 App 下拉框中选择目标应用。选择后,左侧会加载该 App 下的 plan 列表,设备列表也会按 App 的平台类型过滤。
- 在 设备 下拉框中选择一台目标设备。
2.2 选择多个 Plan
在 「可选 Plans」 区域,点击一个或多个 plan 卡片即可选中。再次点击可取消选择。
提示:当前版本(第一阶段)只支持 同一 app_id 下 的多个 plan,且会 按你点选的顺序串行执行。暂不支持跨 App 混选,也不支持并行跑多个 plan。
你点选 plan 的先后顺序,就是最终执行顺序。每选中一个 plan,卡片右上角会出现序号 1、2、3……
2.3 确认执行顺序
右侧 「执行顺序」 面板会按序号列出已选 plan。提交前在这里核对顺序是否符合预期。
2.4 开始运行
确认 App、设备和至少一个 plan 都已选好之后,点击 「开始运行」。
系统会提交一次 run_plans 批量运行,并自动跳转到该次运行的详情页。你也可以稍后在侧边栏 「运行记录」 中找到这次 run。
2.5 查看运行结果
批量运行会生成一个 父 run,其下按顺序挂载多个 子 run(每个 plan 对应一个)。
在运行详情页你可以看到:
- 批量汇总:总 plan 数、已完成数、整体判定结果(passed / failed / inconclusive)
- 子 run 列表:每个 plan 的独立状态,可逐个点开查看 case 级细节、时间线与产物
父 run 适合看整体进度;某个 plan 失败时,进入对应子 run 排查具体 case。
3. 创建定时任务
若希望同一组 plan 按固定频率自动执行,可以在提交时改为创建定时任务。
3.1 启用定时任务
勾选 「启用定时任务」。勾选后:
- 页面会出现 Cron 调度编辑器
- 底部按钮文案变为 「创建定时任务」
- 本次提交 不会 立即触发运行,而是保存一条 schedule 记录
3.2 配置执行频率
Cron 编辑器提供常见调度模板,也支持高级自定义表达式。
| 模式 | 说明 | 需要配置的字段 |
|---|---|---|
| 每天 | 每天在固定时刻执行 | 时、分 |
| 工作日 | 周一至周五执行(默认) | 时、分 |
| 每周 | 每周固定星期几执行 | 星期、时、分 |
| 每月 | 每月固定日期执行 | 日期、时、分 |
| 高级 | 自定义标准 5 段 cron | cron 表达式 |
编辑器下方会实时展示:
- 当前表达式:例如
0 9 * * 1-5 - 时区:创建时使用浏览器本地时区(如
Asia/Shanghai) - 下次执行:表达式合法后可预览下一次触发时间
提示:后端使用标准 5 段 cron(分 时 日 月 周)校验最终输入。若模板无法表达你的需求,切换到 「高级」 模式直接填写表达式,例如 */30 8-18 * * *(工作日 8:00–18:00 每 30 分钟一次)。
3.3 填写任务名称(可选)
任务名称 为可选项。留空时,后端会自动生成名称(通常基于创建时间)。
建议为长期维护的任务取一个可读名称,例如「Todo nightly 回归」或「发布前冒烟」。
3.4 创建并跳转
配置完成后,点击 「创建定时任务」。成功后页面会跳转到 「定时任务」 列表(/schedules)。
4. 管理定时任务
4.1 定时任务列表
从侧边栏进入 「定时任务」,可以看到所有已创建的 schedule。列表支持:
- 按 App 筛选
- 按 状态 筛选(全部 / 已启用 / 已停用)
- 按 关键词 搜索任务名称、任务 ID 或设备
每条任务卡片展示:名称、启用状态、App、设备、cron 表达式、时区、下次执行与上次执行时间。

4.2 启用与停用
- 已启用 的任务会按 cron 在
munk serve运行期间自动触发 - 点击 「停用」 后,任务不再调度,
下次执行显示为- - 点击 「启用」 后,系统会重新计算
下次执行时间
适合在临时维护、设备不可用或调试阶段暂停任务,而不必删除配置。
4.3 查看与编辑详情
点击 「查看详情」 进入单条定时任务详情页,你可以:
- 查看完整配置与历史触发记录
- 点击 「编辑」 修改名称、设备、plan 列表与顺序、cron 表达式、启用状态
- 从历史触发记录跳转到对应的 运行记录 详情
提示:编辑时 App 不可更改。若需要换 App,请新建一条定时任务。
4.4 触发历史
详情页的 触发历史 区域记录每次 schedule 触发产生的 run:包括触发时间、最终状态,以及关联的 operation_id。点击可进入对应批量运行详情,排查某次定时执行是否成功。
5. 执行模型与限制
理解以下规则,有助于正确配置任务并排查问题:
| 项目 | 行为 |
|---|---|
| Plan 范围 | 仅同一 App 下多 plan |
| 设备 | 单次运行绑定一台设备 |
| 执行方式 | plan 之间 串行,顺序 = 点选顺序 |
| 定时触发 | 依赖 munk serve 后台调度线程 |
| 全局调度 | 同一时刻只 dispatch 一个 schedule run,避免并发抢占设备 |
| Cron 格式 | 标准 5 段;时区在创建时绑定 |
6. 常见问题
「开始运行」或「创建定时任务」按钮是灰的?
请检查是否已选择 App、设备、至少一个 plan。若启用了定时任务,还需确保 cron 表达式合法且校验通过。
定时任务到了时间没有跑?
依次确认:
munk serve是否仍在运行- 任务状态是否为 已启用
- 目标设备是否在线、可被 Munk AI 连接
- cron 与时区是否符合预期(可在详情页核对
下次执行)
能否跨 App 选择多个 plan?
当前不支持。所有 plan 必须属于同一个 app_id。
多个 plan 会并行执行吗?
不会。当前版本在同一台设备上按顺序逐个执行 plan。
立即运行和定时任务用的配置一样吗?
是的。两者共用同一套 App、设备、plan 列表与顺序;区别只在于提交时是否勾选「启用定时任务」。
7. 与其他能力的关系
| 需求 | 推荐路径 |
|---|---|
| 只跑 一个 plan | 执行工作流 中的 run plan |
| 只跑 一个 case 做调试 | 执行工作流 中的 run case |
| 围绕代码改动做验证 | 验证代码变更 |
| 还没有 plan,需要先创建 | 录制与回放 或 Dashboard 创建计划 |
| 目标平台为 iOS 真机 | iOS 真机配置 |
