Courtesy: GitHub

Basic sample for UiAutomator

If you are new to UiAutomator, try this sample first.

This project uses the Gradle build system. You don't need an IDE to build and execute it but Android Studio is recommended.

  1. Download the project code, preferably using git clone.
  2. Open the Android SDK Manager (Tools Menu | Android) and make sure you have installed the Android testing support library Repository under Extras.
  3. In Android Studio, select File | Open... and point to the ./build.gradle file.
  4. Check out the relevant code:
    • The application under test is located in src/main/java
    • Tests are in src/androidTest/java
  5. Create the test configuration with a custom runner: android.support.test.runner.AndroidJUnitRunner
    • Open Run menu | Edit Configurations
    • Add a new Android Tests configuration
    • Choose a module
    • Add a Specific instrumentation runner: android.support.test.runner.AndroidJUnitRunner
  6. Run the newly created configuration

The application will be started on the device/emulator and a series of actions will be performed automatically.

If you are using Android Studio, the Run window will show the test results.

compileSdkVersion 26

applicationId "com.example.android.testing.uiautomator.BasicSample"

minSdkVersion 18

targetSdkVersion 26

versionCode 1

versionName "1.0"

compile 'com.google.guava:guava:18.0'

package com.example.android.testing.uiautomator.BasicSample

MainActivity

An {@link Activity} that gets a text string from the user and displays it back when the user clicks on one of the two buttons. The first one shows it in the same activity and the second one opens another activity and displays the message.

ShowTextActivity

A simple {@link Activity} that shows a message.

Creates an {@link Intent} for {@link ShowTextActivity} with the message to be displayed. @param context the {@link Context} where the {@link Intent} will be used @param message a {@link String} with text to be displayed @return an {@link Intent} used to start {@link ShowTextActivity}