android / android/android-test
Synchronization capabilities: allow to wait for a View or Fragment to exist
- Dominant language
- Java
- Stars
- 1.2k
- Forks
- 342
- Avg merge
- 11h 29m
- Merged PRs (30d)
- 2
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
Contributor guide
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.
Assessment
- Tech stack
- java
- Domain
- testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100