Android Auto Tester
Android Auto Tester (AAT) is a powerful tool that automatically traverses the hierarchy of an Android application's GUI and simulates user inputs to different types of GUI elements, without accessing the application's source code. It provides a test framework that enables software developers, testers, end users, or researchers to automatically test or measure various aspects of an Android application's functionality.
It runs at the host side and uses a novel design that utilizes both the functionality of Android SDK's monkey runner and hierarchy viewer to automatically identify different types of GUI elements of a running instance of an Android application, and send appropriate user responses such as tapping a button, filling a text box, or pressing a system button to the GUI elements, in order to test or measure the functionality of the application.
The installation of AAT is easy and straightforward. The installation package consits of the source code, a standard makefile, and a helper scripts that executes the code. The installation package can be installed any where on the file system. The only requirement for the compilation and execution of AAT is the installation of Android SDK's monkey runner and hierarchy viewer, which should come with the default installation of Android SDK.
Before compiling AAT, the Makefile need to be updated to use the correct installation location of Android SDK's monkey runner and hierarchy viewer. It should be noted that the original Makefile uses the jar files of monkey runner and hierarchy viewer that are built and installed with the source code of Android 2.2 instead of the prebuilt ones from Android's SDK.
Similarily, the runAAT script should be updated to use the correct installation location of Android SDK's monkey runner and hierarchy viewer before being executed. Additionaly, the runAAT script needs the location of the wrapper script of hierarchyviewer that is directly executed by the user.
The Android mobile device (either a mobile phone or an emulator) under test or measurement needs to be turned on and connected to a host machine. It is adviced to run Androd SDK's adb tool to test the connection between the mobile device and the host machine, before any attempt to run AAT. This will help to narrow down any possible problem to the connection or AAT.