Google released a UI testing framework named UiAutomator in Android 4.1. Basically it provides functions to enumerate the currently forground activity UI hierarchy to get all the view items. Different with Monkey Runner, UIAutomator is not coordinate based, you can get the view item by it's label text or class name, and so on.
The UiAutomator is based on JUnit3. That means it is NOT a Android project, you can write the test case in Java but not Android Java, and get the jar file as the compiling result. The sample and introduction can be found on Android develop site here.
Except writing test case part(which take mostly effort actually), to get the UiAutomator run you need below steps:
1. Have JDK and ANT installed.
2. Create a Java project, NOT Android, in Eclipse.
3. In Properties > Java Build Path, select "Add Library > JUnit" to add JUnit3 lib, and select Add External JARs… ”to add android.jar and uiautomator.jar which located in android SDK folder.
4. Create the test case class, just use this file as mock up now. Let's say your project name is TestUI, it located at c:\workspace\TestUI, package name is com.testui, and you have the class as com.testui.LaunchSettings
5. In terminal, execute this command to get a build.xml:
$android create uitest-project -n <project-name> -t 1 -p <project-path>
so your command looks like this:
$android create uitest-project -n TestUI -t 1 -p c:\workspace\TestUI
6. Execute this command to build the project:
$ant build
Watch the output to make sure the compiling is succeed.
7. Push the jar file into phone:
$adb push bin\TestUI.jar /data/local/tmp
8. Run the test case:
$adb shell uiautomator runtest TestUI.jar -c com.testui.LaunchSettings
Here we are all set.
Subscribe to:
Post Comments (Atom)
Enable HP Zbook Thunderbolt 3 Dock on Ubuntu
As mention in previously post, I installed Ubuntu on my HP ZBook. After two days used all things work just fine, but the Thunderbolt 3 Dock ...
-
As mention in previously post, I installed Ubuntu on my HP ZBook. After two days used all things work just fine, but the Thunderbolt 3 Dock ...
-
To create a button in Android app like this: The layout XML: <Button android:layout_width="match_parent" andro...
-
Recently I tried to setup and build react-native app (mostly for Android), behind a proxy server. To pass the gradle build, need set proxy c...
No comments:
Post a Comment