commit | a6540eac9862fbcedea3ebc5f5ff222751b787b7 | [log] [tgz] |
---|---|---|
author | Aditya Atul Tirodkar <tirodkar@google.com> | Tue Dec 11 22:37:51 2018 |
committer | Aditya Atul Tirodkar <tirodkar@google.com> | Tue Dec 11 22:37:51 2018 |
tree | 9834977666e84703729b6f53016ebee6cbf771fd | |
parent | 8317e42e21520939e20e972a0cade2925680d870 [diff] |
Make the build executable
Note: EarlGrey 2.0 is currently in Alpha and doesn‘t support all forms of integration. In the coming quarters we’ll add support for Xcode Projects and CocoaPods as well. Please peruse the code and do bring forward any issues or concerns you might have with migrating your EarlGrey 1.0 tests to 2.0.
To use, please clone the earlgrey2
branch with its submodules.
// Clone EarlGrey 2.0 with all its dependencies git clone --recursive -b earlgrey2 https://github.com/google/EarlGrey.git
EarlGrey 2.0 is a native iOS UI automation test framework that combines EarlGrey with XCUITest, Apple's official UI Testing Framework.
EarlGrey 2.0 allows you to write clear, concise tests in Objective-C / Swift and enables out of process interactions with XCUITest. It has the following chief advantages:
EarlGrey 1.0 is a white-box testing tool that allows you to interact with the application under test. Since XCUITest is a black-box testing framework, this is not directly possible with EarlGrey 2.0. To fix this, we use eDistantObject (eDO) to allow these white-box interactions.
Currently, only the source code is available, with Xcode Project integration. To integrate with EarlGrey 2.0, please take a look at our Setup Guide.
For a quick sample project, take a look at our FunctionalTests project.
You can use the same channels as with EarlGrey 1.0 for communicating with us. Please use the earlgrey-2
tag to differentiate the projects.
Similar to EarlGrey 1.0, EarlGrey 2.0 also collects an MD5 Hash of the Bundle ID, Test Class Names and Test Method Names. This allows us to measure the volume of usage. You can take a look at GREYAnalytics.m for how it's done.
If you wish, you can disable analytics by adding this to your test's -(void)setUp
method:
In Objective-C:
// Disable analytics. [[GREYConfiguration sharedConfiguration] setValue:@(NO) forConfigKey:kGREYConfigKeyAnalyticsEnabled];
In Swift:
// Disable analytics. GREYConfiguration.sharedConfiguration().setValue(false, forConfigKey: kGREYConfigKeyAnalyticsEnabled)