Automated testing for Chrome for iOS

See the instructions for how to check out and build Chromium for iOS.

Automated testing is a crucial part of ensuring the quality of Chromium.

Unit testing

Unit testing is done via gtests. To run a unit test, simply run the test target (ending in _unittest).

Integration testing

EarlGrey is the integration testing framework used by Chromium for iOS.

Running EarlGrey tests

EarlGrey tests are based on Apple's XCUITest.

Running tests from Xcode

An entire suite of tests can be run from Xcode.

  1. Select the *egtest target you wish to run.
  2. ⌘+U to run all the tests. Note: ⌘+R, which is normally used to run an application, will simply launch the app under test, but will not run the XCTests.

A subset of tests can be run by selecting the test or test case from the XCTest navigator on the left side of the screen.

Running from the command-line

When running from the command-line, it is required to pass in the *.xctest target, in addition to the test application. Example:

./out/Debug-iphonesimulator/iossim -d "iPad Retina" -s 8.1 \
out/Debug-iphonesimulator/ios_chrome_integration_egtests.app \
out/Debug-iphonesimulator/ios_chrome_integration_egtests_module.xctest