Maestro record 教程:3 步把测试流程渲染成演示视频
【免费下载链接】MaestroPainless E2E Automation for Mobile and Web项目地址: https://gitcode.com/GitHub_Trending/ma/Maestro
很多人以为 Maestro 的record命令是"边点应用边录制、自动生成 YAML",其实不是。它反过来:输入一份现成的 YAML Flow,输出一段带注释的演示视频。不用写脚本,跑一条命令就能得到可直接发给同事的 MP4。
一、功能定位:一条命令生成演示视频
maestro record的本质是"流程 → 视频"的渲染器:你在终端执行它,它在真机或模拟器上完整跑一遍指定的 Flow,同时录屏,并把每一步执行状态叠加在画面上,最终合成一段 1080p 的 MP4。
- 输入是一个 YAML Flow 文件,输出是一个 MP4 视频
- 支持本地渲染(
--local,Beta)与远端渲染两种方式,后者已标记弃用 - 目前只支持 Android / iOS 移动端 Flow,Web 流程暂不支持
二、最小上手路径:4 步拿到视频
- 克隆仓库,了解项目结构:
git clone https://gitcode.com/GitHub_Trending/ma/maestro准备一个能跑通的 Flow 文件,比如 e2e/workspaces/simple_web_view/ 下就有现成样例。
执行录制,
--local表示在本地渲染,视频直接落到磁盘:
maestro record <你的flow.yaml> --local执行完会在调试输出目录生成maestro-recording.mp4,画面里包含屏幕录屏和当前执行的命令。
- 如果想自己指定输出文件名,加第二个位置参数:
maestro record <你的flow.yaml> --local demo.mp4三、落地场景:这段视频能省什么事
缺陷上报,让 Bug 自己"说话"。复现问题的过程通常是:跑失败流程 → 翻日志 → 截图 → 在群里打字描述。用 record 跑一遍失败流程,得到一段带每一步状态的视频,发给开发后对方不用问你"卡在哪一步"。省掉的是来回确认的时间,一次跑完就能定位到具体命令。
演示与评审。给产品经理或新同事演示某个功能的自动化覆盖时,与其口述"我们测了注册、搜索、下单",不如直接放一段 30 秒的流程视频。省掉的是口头汇报,视频本身就在说明哪些环节已经被自动化守住。
四、容易踩的坑 & 进阶技巧
- 如果你用默认参数(不带
--local),视频会走远端渲染服务,而且这个方式已被源码标记为即将弃用。建议直接在命令里带上--local,渲染过程稍慢但全程在本地完成,输出文件也完全可控。 - 如果你的 Flow 是 Web 应用,record 会直接报错。移动端 Flow 可以录,Web 的演示只能先靠
maestro test的截图输出。 - 如果你期望"点应用 → 出脚本",方向反了。视觉化地构建 Flow 是 Maestro Studio(图形界面 IDE)的职责,record 只负责把已有流程变成视频。建议先手写或 Studio 建好 Flow,再用 record 出片。
- 如果视频里有滚动、等待内容,Flow 本身的等待机制(如
assertVisible的超时)会影响视频时长,建议把长等待写短一些,成片节奏更紧凑。
五、收尾
maestro record解决的不是"怎么写测试",而是"怎么把测试结果讲清楚":一段 1080p 的 MP4,替代大段文字描述和散乱截图。下一条命令就够你试起来:maestro record <flow.yaml> --local。更多细节可以看仓库里的 README.md。
【免费下载链接】MaestroPainless E2E Automation for Mobile and Web项目地址: https://gitcode.com/GitHub_Trending/ma/Maestro
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考