EarlGrey: iOS UI Automation Test Framework

  • Official website: http://google.github.io/EarlGrey/
    Source Code:

    Reasons to recommend:

    • EarlGrey is a native iOS UI automation test framework that enables you to write clear, concise tests
    • The framework collects usage data and uploads it to Google Analytics

  • EarlGrey

    Apache License
    CC-BY 4.0 License
    Build Status
    Carthage compatible
    Gem Version

    EarlGrey is a native iOS UI automation test framework that enables you to write
    clear, concise tests.

    With the EarlGrey framework, you have access to enhanced synchronization
    features. EarlGrey automatically synchronizes with the UI, network requests,
    and various queues; but still allows you to manually implement customized
    timings, if needed.

    EarlGrey’s synchronization features help to ensure that the UI is in a steady
    state before actions are performed. This greatly increases test stability and
    makes tests highly repeatable.

    EarlGrey works in conjunction with the XCTest framework and integrates with
    Xcode’s Test Navigator so you can run tests directly from Xcode or the command
    line (using xcodebuild).

    Getting Started

    The EarlGrey documentation for users is located in the
    EarlGrey/docs folder.
    To get started, review the EarlGrey features, check for backward compatibility,
    and then install/run EarlGrey with your test target. After everything is
    configured, take a look at the EarlGrey API and start writing your own tests.

    Getting Help

    If you need help, several resources are available. First check the FAQ.
    If you have more questions after reading the FAQ, see Known Issues.
    You can bring more specific issues to our attention by asking them on
    stackoverflow.com using the #earlgrey tag.
    You can also start new discussions with us on our Google group
    or request to join our slack channel.


    To prioritize and improve EarlGrey, the framework collects usage data and
    uploads it to Google Analytics. More specifically, the framework collects the
    MD5 hash of Bundle ID, Test Class Names and Test Method Names. This
    information allows us to measure the volume of usage. For more detailed
    information about our analytics collection, please peruse the
    file which contains the implementation details. If they wish, users can choose
    to opt out by disabling the Analytics config setting in their test’s
    - (void)setUp method:

    In Objective-C:

    // Disable analytics.
    [[GREYConfiguration sharedInstance] setValue:@(NO) forConfigKey:kGREYConfigKeyAnalyticsEnabled];

    In Swift:

    // Disable analytics.
    GREYConfiguration.sharedInstance().setValue(false, forConfigKey: kGREYConfigKeyAnalyticsEnabled)

    For Contributors

    Please make sure you’ve followed the guidelines in
    CONTRIBUTING.md before making any contributions.

    Setup an EarlGrey Project

    1. Clone the EarlGrey repository from GitHub:
    git clone https://github.com/google/EarlGrey.git
    1. After you have cloned the EarlGrey repository, download all the dependencies
      using setup-earlgrey.sh.
    2. After the script completes successfully, open EarlGrey.xcodeproj and ensure that all
      the targets build.
    3. You can now use EarlGrey.xcodeproj to make changes to the framework.

    Add and Run Tests

    Unit Tests

    To add unit tests for EarlGrey, use UnitTests.xcodeproj located at
    Tests/UnitTests. To run all unit tests, select the UnitTests Scheme and press Cmd+U.

    Functional Tests

    To add functional tests for EarlGrey, use the FunctionalTests.xcodeproj located
    at Tests/FunctionalTests. To run all functional tests, select the FunctionalTests Scheme and press Cmd+U.


与 CodeNavigator -- Read source code on iPad 的连接断开,我们正在尝试重连,请耐心等待