Snapshot testing (and more!) with Paparazzi
summary
Paparazzi speeds Android UI feedback from minutes to seconds by running Android UI on the JVM using layoutlib’s JNI bridge and a JUnit rule that captures pixel snapshots. It provides record/verify golden images, Compose and legacy XML support, and a Gradle plugin that extracts merged resources so CI can compare images. Adopted at Block, Twitter, Dropbox and parts of Google, it works well but currently limits tests to library modules (application modules need a workaround); v1.1.1 adds RTL and Wear support.
AI-written summary · about
chapters (10)
- 0:00Introduction and motivation
- 1:11What is Paparazzi
- 5:25How Paparazzi works
- 10:23Behind the scenes of layout lib
- 17:27Resource handling in Paparazzi
- 23:06Native components and deployment
- 26:39Accessibility support
- 28:22Debugging and extending Paparazzi
- 30:31Future plans for Paparazzi
- 34:45Beyond snapshot testing
related talks
35mSnapshot testing (and more!) with Paparazzi
33mKeeping your Pixels Perfect �: Paparazzi 1.0
18mScreenshot testing – The practical talk
35mLights, Camera, Snapshot! What’s New in Paparazzi 2.0
19mSneak Peek at the Screenshot Testing Landscape in 2024
39mA Snapshot Preview of Paparazzi 2.0
34mA Snapshot Preview of Paparazzi 2.0
29mKeeping your Pixels perfect
