- Getting Started
- Code Review
- Platforms
- Configuration
- CI integrations
- Design Tools
- Developer Tools
- Web Projects
- Get Notified
- API
This guide will walk you through every step of integrating Screenshotbot into your Android projects. We provide a Gradle plugin that offers a simple solution for capturing screenshots within your Android app development workflow.
Our Gradle plugin works with the following Screenshot testing libraries:
Screenshotbot is agnostic about how you generated your screenshots. As long as you can provide us a directory of screenshots during your Continuous Integration (CI) job, you can integrate with us. This means if you're not using one of the above libraries, or you use some custom internal library, you can still integrate with Screenshotbot.
The Screenshotbot Gradle plugin automatically detects your screenshot testing library (Paparazzi, screenshot-tests-for-android, Shot) and configures itself accordingly. Here's how to integrate:
plugins {
id("io.screenshotbot.plugin") version "1.22"
}
plugins {
id 'io.screenshotbot.plugin' version '1.22'
}
apply(plugin = "io.screenshotbot.plugin")
apply plugin: 'io.screenshotbot.plugin'
./gradlew recordAndVerifyDebugScreenshotTest
./gradlew recordAndVerifyPaparazziDebugScreenshotbotCI
./gradlew recordRoborazziDebugScreenshotbotCI
./gradlew recordAndVerifyDebugAndroidScreenshotbotCI
./gradlew recordAndVerifyDebugAndroidScreenshotbotCI
./gradlew connectedDebugAndroidTestScreenshotbot -Precord=true
SCREENSHOTBOT_API_KEY=...
SCREENSHOTBOT_API_SECRET=...
Screenshotbot does not require you to save any screenshots in your repository. (But it is safe if you do so.)
Your team members might still try to run the old Gradle tasks, which will generate screenshots. To avoid confusion, you might want to prevent them from commiting those screenshots into your repository. You can add those screenshots to .gitignore as follows:
**/screenshotTest/reference
**/test/snapshots
**/screenshots/debug
**/screenshots/API*/*.png
**/androidTest/screenshots
You can also use the Gradle plugin to run screenshot tests locally (i.e. not on CI).
See this page to understand how record and verify works in this flow.
For each of the libraries, we generate a record and a verify task that can be run locally.
Compose Previews | screenshotbot/compose-preview-example |
Paparazzi | screenshotbot/paparazzi-example |
Shot | screenshotbot/shot-example |
screenshot-tests-for-android | screenshotbot/screenshot-tests-for-android-example |
At this point, you will get email notifications each time your screenshots change.
You can then integrate with your Code Review platform of you choice (for example, GitHub), to get build statuses.
Sign up or contact us.