ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

10分钟跑通你的第一个Maestro移动UI自动化测试

10分钟跑通你的第一个Maestro移动UI自动化测试 10分钟跑通你的第一个Maestro移动UI自动化测试【免费下载链接】MaestroPainless E2E Automation for Mobile and Web项目地址: https://gitcode.com/GitHub_Trending/ma/MaestroMaestro是一个移动UI自动化测试框架核心是用YAML测试脚本描述操作。每次发版前你都要在手机上手动点几十个页面回归既慢又容易漏。这篇文章带你把这套手动操作写成脚本先跑通再优化。 Maestro三步上手先说清楚Maestro就是让你用YAML写测试、在Android和iOS设备或模拟器上自动执行的CLI工具不需要编译。它写出来长这样appId: com.android.contacts --- - launchApp - tapOn: Create new contact - inputText: John - tapOn: Save上分三步每步只给最短必要命令安装先确认Java 17及以上java -version然后执行官方安装脚本curl -fsSL https://get.maestro.mobile.dev | bash如果装不了也可以git clone https://gitcode.com/gh_mirrors/ma/maestro后在仓库根目录执行./installLocally.sh从源码构建安装。连接设备启动一个模拟器运行maestro list devices确认设备在线需要命令行拉起模拟器的话用maestro start-device。跑第一个测试把上面那段YAML存为first_test.yaml执行maestro test first_test.yaml终端输出全绿就算跑通。 YAML元素定位与操作命令Maestro移动UI自动化测试里一个脚本就是定位元素 执行操作的循环。定位有几种常用写法- tapOn: 提交订单 # 按文本 - tapOn: { id: org.wikipedia:id/done_button } # 按资源ID - tapOn: { a11yLabel: 登录 } # 按可访问性标签建议优先用ID或可访问性标签它们不受文案微调影响比纯文本匹配稳。常用操作命令就三个动作加一个断言- tapOn: 目标 # 点击 - inputText: abc # 向当前聚焦框输入 - assertVisible: 登录成功 # 断言可见不满足则失败 从单个脚本到整套测试测试多了以后散文件没法维护。组织方式可以照着仓库里的 e2e/workspaces/ 目录来按功能拆成子目录每个目录放一组flow比如wikipedia/android-flow.yaml和ios-flow.yaml各写一份公共步骤放subflows/里复用同一业务的双端脚本各维护一份。测试数据分离上做法是把appId、tags写在flow文件头部把会变化的内容账号、文案抽成变量传入脚本本身只写步骤。具体的e2e流程说明见 e2e/README.md里面的download_apps、install_apps、run_tests就是一条标准的批量执行流水线。️ 调试失败与提速技巧可视化监控用maestro studio打开Maestro Studio可视化地一步步执行脚本、检查元素树卡在哪一步一眼可见不用反复看终端。常见失败与排查Element not found通常是元素没出现或文案变了先跑maestro print-hierarchy打印当前界面元素树对照真实文本/ID再改脚本应用冷启动慢导致的失败把启动断言放在脚本开头。等待与重试Maestro默认会自动等待元素出现大部分场景不需要手写sleep真正不确定的步骤用extendedWaitUntil显式声明等某个元素出现、超时N毫秒偶发抖动的步骤用retry包住设maxRetries上限而不是无限等待。下一步在模拟器上把上面的5行脚本跑成绿色接着用maestro studio录一遍你常点的路径把它改成自己的第一个flow稳定后再把maestro test加进CI让每次提交自动回归。【免费下载链接】MaestroPainless E2E Automation for Mobile and Web项目地址: https://gitcode.com/GitHub_Trending/ma/Maestro创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表