Stay organized with collections Save and categorize content based on your preferences.

AtomAction

public final class AtomAction<E>


A ViewAction which causes the provided Atom to be evaluated within a webview.

It is not recommended to use AtomAction directly.

Instead {@see androidx.test.espresso.web.sugar.Web} for examples of how to interact with a WebView's content through Atoms.

If you must use AtomAction directly, take care to remember that they are Stateful (unlike most ViewActions) and the caller must call get to ensure that the action has completed.

Parameters
<E>

The type the specific Atom returns.

Summary

Public constructors

AtomAction(
    Atom<E> atom,
    WindowReference window,
    ElementReference element
)

Creates an AtomAction.

Public methods

E
get()

Blocks until the atom has completed execution.

E
get(long val, TimeUnit unit)

Blocks until the atom has completed execution with a configurable timeout.

Matcher<View>
String
Future<E>

Return a Future, which will be set and transformed from futureEval.

IBinder
String
void
perform(UiController controller, View view)
void
setIBinder(IBinder binder)

Public constructors

AtomAction

public AtomAction(
    Atom<E> atom,
    WindowReference window,
    ElementReference element
)

Creates an AtomAction.

Parameters
Atom<E> atom

the atom to execute

WindowReference window

(optional/nullable) the window context to execute on.

ElementReference element

(optional/nullable) the element to execute on.

Public methods

get

public E get()

Blocks until the atom has completed execution.

Throws
java.util.concurrent.ExecutionException java.util.concurrent.ExecutionException
java.lang.InterruptedException java.lang.InterruptedException

get

public E get(long val, TimeUnit unit)

Blocks until the atom has completed execution with a configurable timeout.

Throws
java.util.concurrent.ExecutionException java.util.concurrent.ExecutionException
java.lang.InterruptedException java.lang.InterruptedException
java.util.concurrent.TimeoutException java.util.concurrent.TimeoutException

getConstraints

public Matcher<View> getConstraints()

getDescription

public String getDescription()

getFuture

public Future<E> getFuture()

Return a Future, which will be set and transformed from futureEval. Espresso's public API cannot have guava types in its method signatures, so return Future instead of ListenableFuture or SettableFuture.

getIBinder

public IBinder getIBinder()

getId

public String getId()

perform

public void perform(UiController controller, View view)

setIBinder

public void setIBinder(IBinder binder)