
UiAutomator 2
UIAutomator 2 is an automation framework based on Android instrumentation and allows one to build and run UI tests.
Appium uses Google’s UIAutomator to execute commands on real devices and emulators. UIAutomator is Google’s test framework for native app automation at the UI level. Typical usage would be to pass the following in desired capabilities:
automationName: uiautomator2
With version 1.6, Appium has provided support to UiAutomator 2. Appium uses the appium-android-bootstrap module to interact with UI Automator. It allows commands to be sent to the device, which are then executed on real devices using Android's UIAutomator testing framework.
When Appium client requests to create a new AndroidDriver session, the client passes the desired capability to the Appium node server. The UIAutomator2 driver module creates the session. It then installs the UIAutomator2 server APK on the connected Android device, starts the Netty server, and initiates a session. Once the Netty server session is started, the UIAutomator2 server continues to listen on the device for requests and responds:
