CheckOps home

Tools directory

R

CheckOps

Roborazzi

Roborazzi is an Apache-2.0 Android screenshot testing library that captures screenshots in JVM tests using Robolectric Native Graphics, supporting interactions, Compose and Espresso-style flows.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

Roborazzi aims to “make JVM Android integration tests visible”. It captures screenshots during Robolectric-based JVM tests, using Robolectric Native Graphics (RNG, introduced in Robolectric 4.10) to render real Android graphics on the JVM. Its README explains why this matters: JVM tests run on a developer’s machine or CI without the flakiness of device environments, while screenshots catch visual problems faster than many assertions.

Because Roborazzi runs inside Robolectric, tests can interact with the UI before capturing, for example clicking with Espresso or Compose testing APIs and then calling captureRoboImage(). That differs from Paparazzi, which focuses on rendering static screens; the README includes a comparison. Gradle tasks record (recordRoborazziDebug), compare (compareRoborazziDebug) and verify (verifyRoborazziDebug) screenshots, with comparison images and reports. It supports Compose, views, multiple device qualifiers and Compose Multiplatform previews. The project is very active; version 1.78.0 was released on 8 November 2026.

The source code is at takahirom/roborazzi on GitHub under the Apache-2.0 licence, with about 1,100 stars; the most recent commit was on 11 November 2026.

Features

  1. Interactive screenshots: Click and navigate before capturing.
  2. Robolectric Native Graphics: Real rendering on the JVM.
  3. Record, compare and verify: Gradle tasks with diff reports.
  4. Compose and views: Works with both UI toolkits.

Pros

  1. Free to use: Open source under the Apache-2.0 licence, so the core tool costs nothing to use.
  2. Actively maintained: The repository had commits as recent as 11 November 2026.

Cons

  1. Robolectric dependency: Inherits Robolectric setup and limits.
  2. Rendering differences: May differ slightly from physical devices.
@RunWith(AndroidJUnit4::class)
@GraphicsMode(GraphicsMode.Mode.NATIVE)
class CheckoutScreenshotTest {
    @get:Rule val composeRule = createAndroidComposeRule<ComponentActivity>()

    @Test
    fun checkoutAfterTap() {
        composeRule.setContent { CheckoutScreen() }
        composeRule.onNodeWithText("Apply coupon").performClick()
        composeRule.onRoot().captureRoboImage()
    }
}
./gradlew recordRoborazziDebug
./gradlew verifyRoborazziDebug

Resources:

Pricing

Roborazzi is free and open source under the Apache-2.0 licence.

  1. Android teams using Robolectric who want visual regression tests.
  2. Teams needing screenshots after interactions.

Conclusion

Roborazzi brings interactive, JVM-based screenshot testing to Android, a natural complement to Robolectric suites.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with Roborazzi side by side.