Write code that automatically taps, swipes, and enters text in your iOS app instead of testing manually every time.
Run the same UI checks on every code change so regressions are caught before users see them.
Integrate automated UI tests into Xcode so they run alongside your normal unit tests from the command line.
Requires an existing Xcode iOS project, the main branch EarlGrey 1.0 is deprecated for iOS 13+ so new users must switch to the separate EarlGrey 2.0 branch.
EarlGrey is a testing framework from Google for automating user interface tests on iOS applications. Rather than writing tests that a human manually performs by tapping through an app, EarlGrey lets developers write code that mimics those taps, swipes, and text inputs automatically, so the same checks can be run repeatedly without human involvement. The framework's main focus is on synchronization. A common problem with automated UI tests is that they act too quickly, tapping a button before the screen has finished loading or checking a value before a network request completes. EarlGrey watches the app's current activity, including pending network requests and background processing queues, and waits until things have settled before taking the next action. This is meant to reduce the number of tests that fail for reasons unrelated to actual bugs. EarlGrey integrates with Xcode's built-in test system, XCTest, so tests written with it appear alongside other tests in the Xcode interface and can be run from the command line in the same way as standard tests. Note that the version in the main branch of this repository, EarlGrey 1.0, is deprecated and no longer maintained for iOS 13 and later. The actively developed version is EarlGrey 2.0, which lives on a separate branch and integrates more directly with Apple's own XCUITest automation framework. New users should go to that branch instead. The framework collects anonymized usage data, specifically hashed identifiers from test names and app bundle IDs, and sends it to Google Analytics. This can be disabled with a one-line configuration change in the test setup code.
← google on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.