{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}
public final class ViewInteraction
Provides the primary interface for test authors to perform actions or asserts on views.
Each interaction is associated with a view identified by a view matcher. All view actions and asserts are performed on the UI thread (thus ensuring sequential execution). The same goes for retrieval of views (this is done to ensure that view state is "fresh" prior to execution of each operation).
Public constructors |
|
|---|---|
Public methods |
|
|---|---|
ViewInteraction |
check(ViewAssertion viewAssert)Checks the given |
ViewInteraction |
Makes this ViewInteraction scoped to the root selected by the given root matcher. |
ViewInteraction |
Removes the need of waiting for an Activity before performing a ViewAction/ViewAssertion |
ViewInteraction |
perform(ViewAction[] viewActions)Performs the given action(s) on the view selected by the current view matcher. |
ViewInteraction |
withFailureHandler(FailureHandler failureHandler)Replaces the default failure handler (@see Espresso.setFailureHandler) with a custom FailureHandler for this particular interaction. |
Extension functions |
|
|---|---|
final @ExperimentalTestApi @RequiresApi(value = 16) @NonNull Bitmap |
ViewInteractionCapture.captureToBitmap(Captures an image of the matching view into a {@link Bitmap}. |
public ViewInteraction check(ViewAssertion viewAssert)
Checks the given ViewAssertion on the view selected by the current view matcher.
| Parameters | |
|---|---|
ViewAssertion viewAssert |
the assertion to check. |
| Returns | |
|---|---|
ViewInteraction |
this interaction for further perform/verification calls. |
| Throws | |
|---|---|
java.lang.RuntimeException java.lang.RuntimeException |
when being invoked on the main thread. |
public ViewInteraction inRoot(Matcher<Root> rootMatcher)
Makes this ViewInteraction scoped to the root selected by the given root matcher.
public ViewInteraction noActivity()
Removes the need of waiting for an Activity before performing a ViewAction/ViewAssertion
public ViewInteraction perform(ViewAction[] viewActions)
Performs the given action(s) on the view selected by the current view matcher. If more than one action is provided, actions are executed in the order provided with precondition checks running prior to each action.
If the test argument `--enable_testflow_gallery` is present, TestFlowVisualizer captures data for each of the interactions and generates an output artifact for the test run. NOTE, this is an experimental feature.
| Parameters | |
|---|---|
ViewAction[] viewActions |
one or more actions to execute. |
| Returns | |
|---|---|
ViewInteraction |
this interaction for further perform/verification calls. |
| Throws | |
|---|---|
java.lang.RuntimeException java.lang.RuntimeException |
when being invoked on the main thread. |
public ViewInteraction withFailureHandler(FailureHandler failureHandler)
Replaces the default failure handler (@see Espresso.setFailureHandler) with a custom FailureHandler for this particular interaction.
| Parameters | |
|---|---|
FailureHandler failureHandler |
a non-null FailureHandler to use to report failures. |
| Returns | |
|---|---|
ViewInteraction |
this interaction for further perform/verification calls. |
@ExperimentalTestApi
@RequiresApi(value = 16)
public final @NonNull Bitmap ViewInteractionCapture.captureToBitmap(
@NonNull ViewInteraction receiver
)
Captures an image of the matching view into a {@link Bitmap}.
For devices below {@link Build.VERSION_CODES#O} (or if the view's window cannot be determined), the image is obtained using {@link View#draw}. Otherwise, {@link PixelCopy} is used.
This method will also enable {@link HardwareRendererCompat#setDrawingEnabled(boolean)} if required.
This API is currently experimental and subject to change or removal.