Synchronization capabilities: allow to wait for a View or Fragment to exist

Open
#2,147 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
java
Domain
testing

Research direction

Start by reviewing Espresso's Idling system and the synchronization behavior described in this issue. Define how the test API should wait for a View or Fragment, including timeout and failure conditions; done requires a settled design and corresponding coverage for asynchronous UI appearance.

Written by the indexing model from the issue text.

Description

Espresso should allow to wait for a View or Fragment to appear (with a timeout).

The "Idling system" makes a lot of assumptions about the implementation details of the app, and makes difficult to test the UI of an asynchronous app without having to instrument async operations in the app, which is simply not realistic for modern apps where everything is async (or should be anyway). This makes the success of the test depend on instrumentation code spread around the codebase instead of just the actual behaviour of the app and the code of the test itself.

In general, testing the UI should not require knowledge about the implementation details of the backend.

It would help if the test API allowed to wait for a View or Fragment to appear, with a timeout or other failure conditions.

Many thanks

Dominant language
Java
Stars
1.2k
Forks
342
Avg merge
1d 14h
Merged PRs (30d)
5

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from android/android-test

All issues in android/android-test

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.