Uiautomator:
Uiautomator was introduced along with the release of Android Jelly Bean 4.2.
Its a perfect tool to start off with your UI Testing on Android Devices.
Its a clear indication of support provided by Google to help the testers struggling with their changing frameworks.
Prerequisites to test:
- Have your Android SDK version upgraded to revision 21.
- If you do not have the Android SDK installed in your system. Here is the link to get going: http://developer.android.com/sdk/index.html
- Your test device must have an Android API version 16 or more.
- You can the device's Android API version through the following command:
adb shell getprop ro.build.version.release
Starting with the tests:
- Open Eclipse downloaded from the above link and create a new Java project
- Import the android.jar and uiautomator.jar into your project from the following path : <adt-bundle>/sdk/platforms/<android-17/18>/
- You can import the jars in you project by:
- Right-click Project -> Properties -> Java Build Path -> Libraries ->Add External JAR's
Code Snippet:
package com.uiautomator.tests;
import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;
public class FirstTest extends UiAutomatorTestCase{
public void testFirst() throws UiObjectNotFoundException {
getUiDevice().pressHome();
UiObject obj = new UiObject(new UiSelector().text("ButtonText"));
obj.clickAndWaitForNewWindow();
}
}
Execution of tests:
The execution of the tests is an easy four step process:
Step 1:
Create the configuration file to build the jar file:
<android-sdk>/tools/android create uitest-project -n <name> -t 1 -p <path>
Create the JAR file. Go to the project directory where your build.xml is located. Then execute:
ant build
Step3:
Push the jar file to the device:
adb push ~/dev/workspace/Settings/bin/LaunchSettings.jar /data/local/tmp/
Step4:
Trigger the tests on the device after pushing the jar file to device:
adb shell uiautomator runtest LaunchSettings.jar -c com.my.LaunchSettings