10分钟跑通第一个E2E测试:Maestro移动端与Web可视化自动化上手实战指南
10分钟跑通第一个E2E测试Maestro移动端与Web可视化自动化上手实战指南【免费下载链接】MaestroPainless E2E Automation for Mobile and Web项目地址: https://gitcode.com/GitHub_Trending/ma/Maestro每次发版前你要手动打开 App点登录敲账号等首页出来再逐项核对。重复五次手比脑子先累。更要命的是换个人验证他可能漏掉其中某一步。Maestro 是个开源的端到端测试框架把操作步骤写成一份 YAML一条命令就能在 Android、iOS 模拟器或浏览器里自动跑完。下面从零基础出发带你把第一个流程跑绿再写一条真正属于你的回归用例。3步完成安装并看到第一个绿色通过先确认环境里有 Java 17 及以上版本java -version curl -fsSL https://get.maestro.mobile.dev | bash maestro --version它做什么检查 Java 环境再一条命令装好 Maestro CLImacOS、Linux 或 Windows WSL。装完执行maestro --version能看到版本号就说明装好了。第一个测试不用自己写——仓库自带一套 Web 用例和静态服务器。在 e2e/README.md 里能找到整套说明它要求先启动 fixture 服务器cd e2e ./ensure_fixtures maestro test workspaces/web/simple.yaml它做什么ensure_fixtures启动本地静态服务器并等它真正响应maestro test则打开浏览器自动填入账号密码、登录示例商城再断言商品列表可见。你在终端看到每一步依次打勾、最后出现全绿的 PASSED浏览器里能看到页面自己完成了登录。这就是你的第一个 E2E 测试耗时不到一分钟。任务主线给维基百科搜索写一条自动化流程现在把打开维基百科、搜一个词、确认结果页出来这件事自动化。以下命令都在你本机的 e2e/workspaces/ 目录下执行。新建流程文件新建wiki_search.yaml写入最小骨架appId: org.wikipedia --- - launchApp - inputText: Maestro - tapOn: Search它做什么声明被测应用然后依次启动 App、输入关键词、点击搜索。YAML 里没有一行等待代码因为 Maestro 对每条命令自带轮询重试元素没出现时会继续等而不是立刻失败。跑起来并加断言maestro test wiki_search.yaml它做什么对已安装维基百科的 Android 设备或 iOS 模拟器执行上面的三步。你看到每一步执行后带耗时记录结尾 PASSED。再加一行assertVisible: Maestro测试就从操作完了升级成结果对了失败时截图自动存档。让选择器更稳页面上有多个Search时改用正则或包含匹配- tapOn: {textContains: Search}。元素名会随文案微调变化用模糊匹配加索引比写死全文更抗造。这一步的意义回归测试最怕文案一改全线红。进阶玩法子流程复用多端共用公共步骤。适用场景登录逻辑在 Android 和 iOS 上各写一遍太浪费。把登录、断言首页抽成login.yaml主流程用- runFlow: login.yaml引用。关键坑子流程里写的命令异常会直接归到主流程对应行报错堆栈按主流程排定位时别只盯子文件。appState 条件分支跳过已登录用户。适用场景回归时部分设备保留了上次登录态从头跑反而失败。加一行- appState: {isLoggedOut: true} then: - runFlow: login.yaml它做什么先探测登录状态未登录才走登录子流程。关键坑appState的判定也依赖元素可见性App 名或图标改了判定会失灵记得同步更新选择器。智能等待调参处理慢加载界面。适用场景首页图片懒加载断言总差几秒才过。默认每条命令等待约 10 秒不够就在 flow 头部加defaultExpire: 20000全局调大或用waitForAnimationEnd明确等动画结束。关键坑默认值是每条命令独立的别拿一条命令的超时去心算整个流程的预算。避坑速查现象原因解法安装脚本报错Java 版本低于 17安装 JDK 17java -version确认Web 流程报 Element not foundfixture 服务器没启动先跑e2e/ensure_fixtures再测提示找不到设备没开模拟器或真机未连启动 AVD/模拟器或接真机开 USB 调试元素匹配多个文案重复用index或textContains精确定位适合每天要回归验证移动 App 或 Web 应用的开发、测试同学。下一步挑一条真实流程——登录或搜索——写成 YAML连上设备跑绿它再逐步加断言扩成回归集。【免费下载链接】MaestroPainless E2E Automation for Mobile and Web项目地址: https://gitcode.com/GitHub_Trending/ma/Maestro创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考