Objective
AutoClicker is a fully automated UI testing system for large-scale Android apps using multiple devices. It provides a way to quickly and easily verify that a large number of Android apps behave correctly at runtime in a repeatable manner.
Motivation
Recently, app instrumentation techniques are widely used for research in academia and in the industry to achieve different goals.
- Improving energy efficiency for always-on sensing
- Providing mobile deep links
One can easily check that instrumented apps are correctly transformed at compilation time with compiler validation.
However, verifying if a large number of instrumented apps behave correctly at runtime is still challenging and timeconsuming.
- Difficult to schedule many apps for testing and to use multiple devices in parallel in order to facilitate testing
- Burden to understand app testing APIs and libraries, and to build a system using them.
Architecture

Device Controller: Detecting all devices connected to AutoClicker, and checking device conditions such as battery level, occupied status, and so on.
APK distributor: Selecting a device and an app that is not tested yet. It installs and launches the app on a device to start testing.
UI Inspector: Inspecting all UI elements and their hierarchy for an app running on a device using Android UI Automator.
Random Event Generator: Generating random UI events such as button clicks and text input.