EarlGrey
EarlGrey is a native iOS UI automation testing framework from Google that simplifies writing and maintaining automated tests for iOS apps. It provides automatic synchronization with UI, network requests, and app queues to make tests more stable and reliable.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | google/EarlGrey |
| Owner | |
| Primary language | Objective-C |
| License | Apache-2.0 — OSI-approved |
| Stars | 5.7k |
| Forks | 734 |
| Open issues | 251 |
| Latest release | 2.2.2 (2022-06-07) |
| Last updated | 2026-07-08 |
| Source | https://github.com/google/EarlGrey |
What EarlGrey is
EarlGrey is an Objective-C framework that integrates with XCTest and Xcode's Test Navigator, offering enhanced synchronization primitives to wait for UI steady state before test actions. Version 2.0+ builds on XCUITest; version 1.0 is deprecated and unsupported on iOS 13+.
Get the EarlGrey source
Clone the repository and explore it locally.
git clone https://github.com/google/EarlGrey.gitcd EarlGrey# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Latest release (2.2.2) dates to June 2022; verify compatibility with your target iOS and Xcode versions before adoption.
- EarlGrey 1.0 is deprecated—plan migration to EarlGrey 2.0 (earlgrey2 branch) if currently on v1 or starting new projects.
- Analytics collection (MD5 hashes of bundle ID, test class/method names) sends data to Google Analytics by default; review privacy implications and disable if required.
- Requires integration into test target via CocoaPods, Carthage, or gem; plan dependency management strategy early.
- Synchronization features reduce manual waits but add overhead; monitor test performance in CI/CD pipelines for regression.
When to avoid it — and what to weigh
- Targeting iOS versions below 13 with EarlGrey 1.0 — EarlGrey 1.0 is deprecated and unmaintained. iOS 13+ users must migrate to EarlGrey 2.0; unsupported combinations may cause framework incompatibility.
- Non-Objective-C or Swift-only workflows — Primary language is Objective-C. While Swift interoperability exists, teams heavily invested in pure Swift may face integration friction.
- Cross-platform mobile testing (Android + iOS) — EarlGrey is iOS-only. Teams needing unified Android/iOS test frameworks should consider alternatives like Appium or Detox.
- Projects with minimal test infrastructure budget — EarlGrey requires Xcode environment, CocoaPods/Carthage dependency management, and dedicated test targets; setup and maintenance overhead may not justify benefit for trivial test suites.
License & commercial use
Licensed under Apache License 2.0, a permissive OSI-approved license. Documentation also carries CC-BY 4.0 attribution license.
Apache 2.0 permits commercial use, modification, and distribution with attribution and liability disclaimer. No royalties or restrictions on proprietary apps. Requires review of your legal policy if bundling or redistributing EarlGrey framework code.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
No explicit security audit details provided. Analytics collection hashes bundle IDs and test metadata before transmission; review data handling if testing apps with PII. Framework runs in-process with test target; code review recommended before adoption in security-sensitive environments. No CVE history or vulnerability disclosure policy stated.
Alternatives to consider
Appium
Cross-platform (iOS, Android, web) automation framework; better for teams needing unified mobile testing but heavier setup and slower execution than native frameworks.
XCUITest (native Apple framework)
Apple's first-party iOS UI automation API; no third-party dependencies or analytics, but fewer synchronization helpers and less mature debugging compared to EarlGrey.
Detox
Modern cross-platform framework with strong synchronization and React Native support; good alternative if moving away from Objective-C or targeting iOS + Android parity.
Build on EarlGrey with DEV.co software developers
Review the implementation considerations, migration path from v1→v2, and analytics implications with your engineering and compliance teams. Assess fit against your iOS stack and cross-platform testing needs.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
EarlGrey FAQ
Should I use EarlGrey 1.0 or 2.0?
Does EarlGrey send my app data to Google?
Can I use EarlGrey with Swift?
Is EarlGrey suitable for enterprise use?
Software developers & web developers for hire
DEV.co helps companies turn open-source tools like EarlGrey into production software. Our software development services cover the full lifecycle — architecture, web development, integration, and maintenance — delivered by software developers and web developers who ship. Engage our software development agency to implement or customize it for your open-source testing stack.
Evaluate EarlGrey for Your iOS Testing
Review the implementation considerations, migration path from v1→v2, and analytics implications with your engineering and compliance teams. Assess fit against your iOS stack and cross-platform testing needs.