IdlingResource
public
interface
IdlingResource
| android.support.test.espresso.IdlingResource |
|
|
Represents a resource of an application under test which can cause asynchronous background work
to happen during test execution (e.g. an intent service that processes a button click). By
default, Espresso synchronizes all view operations with the UI thread as well as
AsyncTasks; however, it has no way of doing so with "hand-made" resources. In such cases, test
authors can register the custom resource via IdlingRegistry
and Espresso will wait for the resource to become idle prior to executing a view
operation.
Important Note: it is assumed that the resource stays idle most of the time.
Note: before writing your implementation consider using CountingIdlingResource instead.
Summary
Nested classes | |
|---|---|
interface |
IdlingResource.ResourceCallback
Registered by an |
Public methods | |
|---|---|
abstract
String
|
getName()
Returns the name of the resources (used for logging and idempotency of registration). |
abstract
boolean
|
isIdleNow()
Returns |
abstract
void
|
registerIdleTransitionCallback(IdlingResource.ResourceCallback callback)
Registers the given |
Public methods
getName
String getName ()
Returns the name of the resources (used for logging and idempotency of registration).
| Returns | |
|---|---|
String |
|
isIdleNow
boolean isIdleNow ()
Returns true if resource is currently idle. Espresso will always call this
method from the main thread, therefore it should be non-blocking and return immediately.
| Returns | |
|---|---|
boolean |
|
registerIdleTransitionCallback
void registerIdleTransitionCallback (IdlingResource.ResourceCallback callback)
Registers the given IdlingResource.ResourceCallback with the resource. Espresso will call this method:
- with its implementation of
IdlingResource.ResourceCallbackso it can be notified asynchronously that your resource is idle - from the main thread, but you are free to execute the callback's onTransitionToIdle from any thread
- once (when it is initially given a reference to your IdlingResource)
You only need to call this upon transition from busy to idle - if the resource is already idle when the method is called invoking the call back is optional and has no significant impact.
| Parameters | |
|---|---|
callback |
IdlingResource.ResourceCallback |
Interfaces
Classes
Exceptions