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