Published

Meta's screenshot-tests-for-android is now maintained by Screenshotbot

Arnold Noronha
Arnold Noronha
Founder, Screenshotbot

In 2015, Facebook's screenshot-tests-for-android changed how Android developers did UI testing. It was the first real screenshot testing library: it focused on fast and deterministic screenshot tests. Facebook also demonstrated viability by running it across multiple projects and showing how it improved developer velocity and caught significant number of regressions.

I was the lead developer on that project back then, it was primarily something that started from solving my own itch. I even talked about it at Droidcon.

Around the time I left Facebook, Hilal Alsibai started maintaining the project. Today Facebook has archived their project, and Screenshotbot is officially the maintainer again.

Message on the original GitHub project linking to us

Give us a star on our new fork: https://github.com/screenshotbot/screenshot-tests-for-android.

Why us?

Screenshotbot is a unique position to maintain this library. After all, I was personally the author of this project, so I'm very familiar with the code. But more importantly: as a founder of Screenshotbot, I also work with many companies of varying sizes with different screenshot testing needs. We have insights into how companies do screenshot testing that anybody else just wouldn't have.

By working closely with customers, we can make sure we're providing the absolute best support for screenshot-tests-for-android.

Initial Release

The first release of our fork will be 0.16. Here's the new Maven coordinates:

  • Gradle plugin: io.screenshotbot.screenshot-tests-for-android:plugin:0.16, via Gradle Plugin Portal
  • Core library: io.screenshotbot.screenshot-tests-for-android:core:0.16, via Maven Central

The goal of this release is just to do some minimal upgrades, in particular to Gradle 8. We wanted to keep compatibility as much with this release, the only thing that should change for you is the Maven coordinates.

Roadmap

  • Fix reflection for API level 33 and above
  • Automatically handle the adb settings step needed for API Level 28 and above
  • Modern developer-friendly APIs (the current APIs made sense in 2015, but since then we know more about how developers use Screenshot testing, so we can do better)
  • Remove the dependency on Python
  • Windows support!
  • Add built-in support for Compose, and perhaps @Previews
  • Better integration with Gradle Managed Devices
  • React Native support! Even before we adopted this project, one of our interns was already working on this! Coming Summer 2026!

Did you enjoy this post? Share the knowledge!