Maestro is a declarative YAML-based mobile E2E testing framework. It provides automatic waiting, built-in retry logic, and fast execution without boilerplate. It's more stable than Detox or Appium for React Native apps.
Choose your selector approach based on project context. Both are valid — the right choice depends on whether your app is localized and your team's testing philosophy.
| Multi-language / i18n | id: (testID) | Stable across translations | | Single language | Text labels | Human-readable, self-documenting tests | | Agent-maintained tests | Either — ask the developer | Readability matters less for AI-maintained flows | | System dialogs | Text (always) | No testID possible on native alerts |
Maestro mobile E2E testing patterns for React Native/Expo apps: YAML test flows, testID selectors, adaptive auth state, optimistic update verification, GraalJS scripting, cross-platform stability, CI/CD integration, Maestro Cloud, and MCP server integration Source: tovimx/maestro-mobile-testing-skill.