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.