-
-
Notifications
You must be signed in to change notification settings - Fork 235
Home
-
appium-uiautomator2-server module is targeted to re implement appium-android-bootstrap's bootstrap module using Google's UIAutomator V2 API.
-
appium-android-bootstrap built on top of Google's UIAutomator v1 and Google's UIAutomator v1 API is broken and officially depreciated now.
-
Google 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.
Prerequisites: This module should support from Android 5.0 (API Level 20) and above
Usage:
From Appium server it is requested by specifying the desired capability automationName
as uiautomator2
when starting a session.
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 appium uiautomtor2 server apks 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.
- As per the new implementation of google's UI Automator v2 whenever there is a change in the current UI view, always recommended to re finding the element(using findElement) instead of referring already created element.
- Referring to existing element may either throws StaleObjectException or returns irrelevant element.
Index for other sections: