Android Testing in Chromium

Concepts

  • Native Unit Tests: Normal Chromium unit tests based on the gtest framework. Tests for native code.
  • Java Unit Tests: JUnit tests that run on the host machine using Robolectric to emulate Android APIs.
  • Instrumentation Tests: JUnit tests that run on Android devices (or emulators).
    • Unit Instrumentation Tests: Instrumentation tests that test an individual feature. They do not require starting up ContentShell (or Chrome browser). These use BaseActivityTestRule or BlankUiTestActivityTestCase based on BaseActivityTestRule.
    • Integration Instrumentation Tests: Instrumentation tests that bring up ContentShell (or Chrome browser) to test a certain feature in the end-to-end flow. These typically use more specialized test rules such as ContentShellActivityTestRule or ChromeActivityTestRule.

How do I...

How does it work on Android?