ndtp / android-testify

Add screenshots to your Android tests
Other
99 stars 5 forks source link

Add capture interceptor #202

Open DanielJette opened 5 months ago

DanielJette commented 5 months ago

Is your feature request related to a problem? Please describe.

It would be cool if there was an easy way to intercept the captured bitmap, for logging, modification, or debugging.

There's already afterScreenshot on the ScreenshotLifecycle but this requires you to subclass the TestRule. It would be nicer if you could register any number of interceptors and have them called by Testify automatically, without having to subclass the rule.

This feedback relates to:

Describe the solution you'd like


fun addBitmapInterceptor(interceptor: (Bitmap) -> Bitmap)

@ScreenshotTest
@Test
fun default() {
    rule
        .addBitmapInterceptor { bitmap ->
            Log.d("Testify", "The bitmap was captured")
            bitmap
        }
        .addBitmapInterceptor { bitmap ->
            val newBitmap = obfuscate(bitmap)
            newBitmap
        }
        .assertSame()
}