Rock-Solid UI and Instrumentation Testing
summary
A CI pipeline runs 800 UI tests under 20 minutes by parallelizing shards on Firebase Test Lab and blocking merges on failures, with per-feature tests across 150 modules and 18 modules actually containing UI checks. Stability uses Espresso plus explicit Espresso idling resources and RXIdler, avoids Thread.sleep and animations, swaps executors for LiveData, DiffUtil and OkHttp via MockWebServer, and automates shard sizing with Flank + Fladle sharding so tests are fast, repeatable and debuggable.
AI-written summary · about
chapters (19)
- 0:00Introduction
- 1:47What is Android test
- 6:21Stability on real devices
- 8:06Asynchronous issues
- 11:15Espresso and idling resources
- 13:41Robot pattern
- 16:31Simplifying learning curve
- 19:41Thread sleep and animations
- 22:07Idling resources best practices
- 24:55Thread executors and coroutines
- 29:06Handling coroutines in tests
- 31:13LiveData and data binding
- 34:47ListAdapter and DiffUtil
- 36:51Flakiness solutions
- 37:12Cloud testing with Firebase
- 39:17Parallelizing tests with Flank
- 40:43Multi-module testing
- 42:09Pipeline and future tools
- 43:56Closing and library plans
related talks
42mRock-Solid UI and Instrumentation Testing
23mManaging your UI tests simply and effectively
29mHow to Shorten UI Test Run Times
34mSetting up Android UI Testing on CI
46mEfficient Android UI Testing
43mUI testing is so easy - said no developer ever
45mUI Testing at Pinterest
26mDevelop Rock-Solid Apps with Firebase
