Skip to content
Sravan Medarapu edited this page Oct 24, 2016 · 40 revisions

Welcome to the appium-uiautomator2-server wiki!

Uiautomator v2 fixes most of the problems in v1. The most important difference is decoupling the upgrade process of the framework from the underlying Android OS. getUiAutomation method introduced in API 18 enables combination of uiautomator APIs with traditional instrumentation APIs.

A netty server that runs on the device listening for commands and executes using Google's UIAutomator V2 API.

This module is targeted to re implement appium-android-bootstrap's bootstrap module using Google's UIAutomator V2 API.

Prerequisites: This module should support from Android 5.0 (API Level 20) and above

How It works ?

When client request to create a new AndroidDriver session, client passes desired capabilities to the appium node server. Based on the automationName property in the desired capabilities, appium redirects to the corresponding driver module (by default appium passes to appium-android-driver on the absence of automationName)

If the automationName is uiautomator2 then appium redirects to appium-uiautomator2-driver to create the new session.

UIAutomator2 Driver Module: Creates the session , installs the uiautomtor2 server apks(from UIAutomator2 server module) on the device, starts the server(Netty) and initiates a Netty server session.

UIAutomator2 Server Module: Once Netty server session initiated by driver module, server continues to listen on device for requests and responds accordingly until DELETE SESSION gets invoked.


Index for other sections:

Clone this wiki locally