


The key difference between UiAutomator2 Driver and Espresso Driver is that UiAutomator2 is a black-box testing framework, and Espresso is a "grey-box" testing framework. The server part (written in Kotlin with some parts of Java), which is running on the device under test and transforms REST API calls into low-level Espresso commands.Also includes several handlers that directly use ADB and/or other system tools without a need to talk to the server. The driver part (written in Node.js) ensures the communication between the Espresso server and Appium.

The Espresso package consists of two main parts: The driver operates in scope of W3C WebDriver protocol with several custom extensions to cover operating-system specific scenarios. The Espresso Driver is a part of the Appium framework. Appium's Espresso Driver is a test automation server for Android that uses Espresso as the underlying test technology.
