Practical Android Test Recording with Espresso Test Recorder

Stas Negara
Naeem Esfahani
Ray Buse
2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP) (to appear)
Google Scholar

Abstract

Tests for mobile apps can be difficult to write, are often fragile, unreliable, and come with a significant maintenance burden. As a result, many developers write few or no tests and instead rely on expensive and error-prone manual testing. We present Espresso Test Recorder, a practical approach to test creation for Android. Espresso Test Recorder employs a novel technique based on the Java Debugger to reliably capture UI interactions and generate robust well-formed instrumentation tests, which can be used across a wide range of devices. In this paper, we report on how we designed, built, and productionized Espresso Test Recorder in Android Studio, where it has been employed by thousands of users throughout the world to record tests with minimal effort.