This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
使用 Maestro 在 EAS Workflows 上运行 E2E 测试
编辑页面
了解如何使用 Maestro 在 EAS Workflows 上设置并运行 E2E 测试。
在本指南中,你将学习如何使用 Maestro 在 EAS Workflows 上运行端到端(E2E)测试。该示例演示了如何使用 默认 Expo 模板 配置 E2E 测试工作流。对于你自己的应用,你需要调整这些 flow,以匹配你的应用 UI。
1
设置你的项目
如果你还没有这样做,请创建一个新项目并将其与 EAS 同步。
按照 EAS Workflows 入门指南 创建一个新项目并将其与 EAS 同步。然后,配置你的项目 并关联你的 GitHub 仓库。
2
添加示例 Maestro 测试用例
以下是使用默认 Expo 模板创建的应用 UI 的样子:
让我们为示例应用创建两个简单的 Maestro flow。首先,在项目根目录下创建一个名为 .maestro 的目录。这个目录将包含你要配置的 flow,并且应与 eas.json 处于同一级别。
在其中创建一个名为 home.yml 的新文件。这个 flow 将启动应用,并断言主屏幕上可见文本 "欢迎!"。
接下来,创建一个名为 expand_test.yml 的新 flow。这个 flow 将打开示例应用中的 "Explore" 屏幕,点击 "File-based routing" 可折叠项,并断言屏幕上可见文本 "This app has two screens."。
3
在本地运行 Maestro 测试(可选)
要在本地运行 Maestro 测试,请按照 安装 Maestro 中的说明安装 Maestro CLI。
将你的应用安装到本地 Android 模拟器或 iOS 模拟器。打开终端,进入 Maestro 目录,并运行以下命令,使用 Maestro CLI 启动测试:
下面的视频展示了 .maestro/expand_test.yml flow 成功运行的过程:
4
5
创建一个 E2E 测试工作流
在项目根目录下,创建一个 .eas/workflows 目录。然后,为你的 E2E 测试工作流添加一个 YAML 文件,例如 .eas/workflows/e2e-test-android.yml。
此工作流使用上一步中的 e2e-test 构建配置为 Android 构建一个 .apk。然后在构建好的 APK 上运行 .maestro/home.yml flow。
下面是 iOS 的同样测试工作流示例:
了解更多关于 EAS Workflows 语法 的信息。
6
运行 E2E 测试工作流
你可以通过两种方式运行 E2E 测试工作流:
- 使用 EAS CLI 手动运行
- 在你打开 pull request 时自动运行
该工作流使用 pull_request 触发器,在有人向你的仓库打开 pull request 时自动运行。了解更多关于 EAS Workflows 触发器 的信息。
工作流启动后,你可以在 EAS 仪表板中跟踪进度并查看结果。下面是一个已完成工作流运行的截图:
更多
了解更多关于 EAS Workflows 语法的信息。
了解更多关于 EAS Workflows 示例 CI/CD 工作流的信息。
跟踪你的 Maestro 测试随时间变化的通过、波动和失败趋势。
了解更多关于 Maestro 流程以及如何编写它们。