Maestro E2E 是一个用于端到端 UI 测试的技能,支持 iOS、Android、Flutter、React Native 和 Web 平台。
用途
当您需要创建 E2E、UI 或集成测试时,可以使用此技能。它特别适用于测试登录、注册或导航流程,处理权限对话框(相机、位置、通知),调试测试失败或探索 UI 层级,以及编写 Maestro 测试文件(.yaml)。
主要能力
该技能提供了一系列规则文件,涵盖以下方面:
- 核心功能:安装指南(macOS、Linux、Windows)、测试结构(YAML 结构、appId、环境变量、流程定义)、40 多个 Maestro 命令的完整参考、元素定位(id、文本、索引、匹配器)、断言(assertVisible、assertNotVisible、assertTrue、AI 断言)、交互命令(tapOn、inputText、scroll、swipe、手势命令)、权限配置(iOS 与 Android 的权限配置和对话框处理)。
- 平台特定:Android(ADB、权限对话框、模拟器)、iOS(自动关闭对话框、模拟器、限制)、Flutter(使用 Semantics 和 identifier 集成)、React Native(使用 testID 和 accessibilityLabel)、Web(使用 Chromium 进行桌面浏览器测试)。
- 高级功能:参数(环境变量、外部参数、${} 语法)、条件(when: visible、platform 条件执行)、嵌套流程(使用 runFlow 命令的可重用子流程)、JavaScript(evalScript、runScript、GraalJS 支持)、等待(extendedWaitUntil、waitForAnimationToEnd)、重复重试(针对不稳定测试的重复和重试模式)。
- 附加内容:调试(Maestro Studio、层级检查、故障排除)、截图(截图、视频录制、视觉证据)、CI 集成(GitHub Actions、GitLab CI、Maestro Cloud)、最佳实践(语义标识符、原子测试、项目结构)。
使用方式
阅读各个规则文件以获取详细说明和代码示例。例如,处理原生权限对话框时,加载 ./rules/permissions.md 文件以获取平台特定信息;使用 Flutter 应用时,加载 ./rules/platforms/flutter.md 文件以了解 Semantics 模式。
适用场景
适用于移动应用和 Web 应用的端到端测试,特别是需要跨平台测试、处理权限对话框、调试测试问题以及集成到 CI 流程中的场景。
限制
资料中未提供关于收费、价格、具体效果或使用步骤的详细信息。