Screenshot

public final class Screenshot
extends Object

java.lang.Object
   ↳ androidx.test.runner.screenshot.Screenshot


The Screenshot instance provides methods to capture a ScreenCapture during instrumentation tests run on an android device.

The Screenshot instance keeps track of a set of ScreenCaptureProcessors that will be passed to each ScreenCapture object when they are created during any test. These ScreenCaptureProcessors are capable of processing the ScreenCapture that was created.

This API is currently in beta.

Summary

Public constructors

Screenshot()

Public methods

static void addScreenCaptureProcessors(Set<ScreenCaptureProcessor> screenCaptureProcessors)

Adds the given set of ScreenCaptureProcessors to the current set of ScreenCaptureProcessors.

static ScreenCapture capture(Activity activity)

Creates a ScreenCapture that contains a Bitmap of the given activity's root View hierarchy content.

static ScreenCapture capture()

Creates a ScreenCapture that contains a Bitmap of the visible screen content for Build.VERSION_CODES.JELLY_BEAN_MR2 and above.

static ScreenCapture capture(View view)

Creates a ScreenCapture that contains a Bitmap of the given view's hierarchy content.

static void setScreenshotProcessors(Set<ScreenCaptureProcessor> screenCaptureProcessors)

Sets the current set of ScreenCaptureProcessors to the given set of ScreenCaptureProcessors.

Inherited methods

From class java.lang.Object

Public constructors

Screenshot

Screenshot ()

Public methods

addScreenCaptureProcessors

void addScreenCaptureProcessors (Set<ScreenCaptureProcessor> screenCaptureProcessors)

Adds the given set of ScreenCaptureProcessors to the current set of ScreenCaptureProcessors.

The current set of ScreenCaptureProcessors will be passed to each ScreenCapture that is created.

Parameters
screenCaptureProcessors Set: the set of ScreenCaptureProcessors to add

capture

ScreenCapture capture (Activity activity)

Creates a ScreenCapture that contains a Bitmap of the given activity's root View hierarchy content.

The ScreenCapture that is returned will also contain the set of ScreenCaptureProcessors that have been set in this instance.

Parameters
activity Activity: the Activity who's root View will be used to create a Bitmap

Returns
ScreenCapture a ScreenCapture that contains the bitmap of the given activity's root View.

Throws
NullPointerException if given activity is null
If there was an error capturing the screenshot
Screenshot.ScreenShotException

capture

ScreenCapture capture ()

Creates a ScreenCapture that contains a Bitmap of the visible screen content for Build.VERSION_CODES.JELLY_BEAN_MR2 and above.

The ScreenCapture that is returned will also contain the set of ScreenCaptureProcessors that have been set in this instance.

Note: Only use this method if all your tests run on API versions Build.VERSION_CODES.JELLY_BEAN_MR2 or above. If you need to take screenshots on lower API levels, you need to use capture(Activity) or capture(View) for those versions.

Returns
ScreenCapture a ScreenCapture that contains the bitmap of the visible screen content.

Throws
IllegalStateException if used on API below Build.VERSION_CODES.JELLY_BEAN_MR2
If there was an error capturing the screenshot
Screenshot.ScreenShotException

capture

ScreenCapture capture (View view)

Creates a ScreenCapture that contains a Bitmap of the given view's hierarchy content.

The ScreenCapture that is returned will also contain the set of ScreenCaptureProcessors that have been set in this instance.

Parameters
view View: the View to create a Bitmap of

Returns
ScreenCapture ScreenCapture that contains the bitmap of the given view's hierarchy content.

Throws
NullPointerException if given view is null
If there was an error capturing the screenshot
Screenshot.ScreenShotException

setScreenshotProcessors

void setScreenshotProcessors (Set<ScreenCaptureProcessor> screenCaptureProcessors)

Sets the current set of ScreenCaptureProcessors to the given set of ScreenCaptureProcessors.

The current set of ScreenCaptureProcessors will be passed to each ScreenCapture that is created.

Parameters
screenCaptureProcessors Set: the set of ScreenCaptureProcessors to use