A big problem with test automation on any platform or operating system is synchronizing test automation interactions with the UI. It is challenging to know when the UI is ready for the next automated click(). Traditional black box tools try to address this problem by explicit or implicit waiting, but this technique is slow and error-prone. A new generation of test frameworks, starting with Espresso, understands the internals of the app and synchronizes interactions only when the view is ready, making the framework very fast and reliable. This same technique is making Cypress and EarlGrey popular. Join Satyajit Malugu to discover how peeking below the surface of the system under test makes tests less flaky. You'll leave with an understanding of synchronization, black box versus gray box testing, and how to implement them in your own frameworks.