ARTICLE DETAIL

资讯详情

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

Maestro record 功能教程:操作一遍,自动生成测试脚本

Maestro record 功能教程:操作一遍,自动生成测试脚本 Maestro record 功能教程操作一遍自动生成测试脚本【免费下载链接】MaestroPainless E2E Automation for Mobile and Web项目地址: https://gitcode.com/GitHub_Trending/ma/Maestro每个版本迭代你都要花不少时间重新核对 UI 测试脚本新页面没覆盖按钮文案一改旧断言就挂了。脚本越堆越多回归越跑越慢。这篇 Maestro 录制教程演示 record 功能你在应用里做操作Maestro 把测试脚本自动生成出来。全文走最短路径从安装 CLI 到跑通第一条 YAML 脚本并说清哪些地方需要人工修正。录制功能输入是操作输出是脚本输入是你在应用上的操作点击、输入、页面跳转输出是一份 Maestro 能直接执行的 YAML 测试脚本。录制过程会自动识别 UI 元素为每一步生成定位器你不用写代码。Android 和 iOS 的模拟器、真机都覆盖到了Flutter 这类跨平台应用也能录。CLI 中录制命令的实现位于 maestro-cli/src/main/java/maestro/cli/command/行为以那里为准。安装并启动录制拿到第一条脚本第一步安装 CLImacOS、Linux、WSL 通用curl -fsSL https://get.maestro.mobile.dev | bash第二步启动录制会话然后在应用里把要测的流程从头走一遍。每次交互都会被记成一步结束后 YAML 文件就落盘了maestro record第三步直接运行生成的文件验证maestro test flow.yaml生成的测试脚本长什么样以“添加联系人”为例录出的脚本大致如下appId: com.android.contacts --- - launchApp: clearState: true - tapOn: Create new contact - tapOn: First Name - inputText: John - tapOn: Save - assertVisible: John字段含义appId目标应用包名Maestro 靠它识别并拉起应用。launchApp流程开始时启动应用clearState: true会清空上一次运行留下的状态让结果可复现。tapOn与inputText你录制时做过的操作一行一步引号里是用于定位的元素文本。assertVisible验证步骤屏幕上看不到指定内容流程判失败。定位不准或偶发失败时怎么调整定位会漂移。录制是按当时的元素属性选定位器的。后续版本改了 UI 文案对应那一步就会失败。解法找到失败行改用更稳的属性id、内容描述重新定位而不是整段重录。异步内容断言太早。列表、图片这类晚到内容断言可能在加载完成前触发表现为偶发失败。Maestro 内置了智能等待通常不用手动加 sleep仍不稳定的把断言对象换成加载完成后必然出现的固定元素。模拟器和真机结果不一致。分辨率和字体渲染有差异同一套定位器一边能过、另一边失败。建议在主要回归的环境里录制换环境后把定位失败当作需要调整的信号而不是应用缺陷。什么时候用录制什么时候手写稳定流程的初版脚本适合录制注册、下单、设置页这类回归移动应用 UI 测试脚本编写时间能省下一大截参考文章的粗略估算是约 80%。三类场景不太适合需要精确手势距离的自定义滑动、缩放、要验证网络请求或数据库等内部状态的断言、以及上百步的超长流程——最后一种录出来的脚本读起来和维护起来都很吃力。另外CLI 的录制目前只支持移动端 flowWeb 页面还不能录源码里对 web flow 会直接报错。生成的脚本是普通 YAML可以立即运行可以按需修改后提交进仓库、接入 CI。录制解决的是脚本从零到一它还能用多久取决于你后面怎么维护。【免费下载链接】MaestroPainless E2E Automation for Mobile and Web项目地址: https://gitcode.com/GitHub_Trending/ma/Maestro创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表