用途:为 Expo / React Native 应用规划、生成、运行并自愈原生端到端测试。与面向 Web 的 e2e-testing 技能互补,原生部分归本技能,Web/WebView 部分归前者。
主要能力:以 Markdown 规格为起点,由智能体生成 Maestro YAML 流程并执行;定位器漂移时自我修复,必要时提出加 testID 的源码改动建议。定位顺序为 id(testID)、text、accessibilityText(最后手段)。
必要用法:先做 Phase 0 预检,只读检查 maestro --version、ls -d .maestro、eas.json 的 e2e profile、模拟器/设备与是否已有 Detox。缺项则暂停并征得用户同意后再装或生成构建。迭代时仅运行改动流程:maestro test .maestro/<flow>.yaml;shards 仅用于 Maestro Cloud;record_screen 默认 false;本地 retries: 1,Cloud retries: 2;复用缓存的 .app/.apk,不每次重建;自愈循环上限 3 次。验证阶段可对流程导入的 TS 辅助代码调用 test-provenance-guard,并检查 EAS Workflow 的 maestro-cloud 任务配置。
适用场景:原生多屏流程、深链接、推送、权限提示、真实传感器;已有流程的 flake 修复;尚无 .maestro/ 或 EAS E2E profile 的仓库初始化。
限制:单元或组件测试能覆盖的缺陷应交给 tdd;纯浏览器流程交给 e2e-testing;不应用绝对坐标补丁,不应复用 accessibilityLabel 作测试选择器;稳定 Detox 套件建议逐流程迁移而非整体重写。具体安装命令与收费信息资料未完整提供。