UIAutomatorViewer Tutorial: Inspector for Android Testing

What is UiAutomatorViewer?

“UIautomatorviewer” is a GUI tool to scan and analyze the UI components of an Android application.To automate any android application using Appium, a user needs to identify the objects in AUT (Application under test). With “UIautomatorviewer” you can inspect the UI of an android application to find out the hierarchy and view different properties (id, text…) of the element.

While executing automation scripts, Appium uses “Uiautomatorviewer” to identify different properties of the object and use the properties to identify the required object.

UiAutomatorViewer

How to Download & Install UIAutomator

“Uiautomatorviewer” is a part of the Android SDK manager and will be accessible once you install the SDK manager. Download and install Android SDK manager from here

Once Android SDK installed, navigate to link

c:\users\<username>\AppData\Local\Android\sdk\tools

You’ll notice a batch file with name

uiautomatorviewer.bat

Double click on it to launch “Uiautomatorviewer” GUI

Download & Install UIAutomator

How to use Uiautomatorviewer to find objects in my application

  1. Enable “developer” options on your device. Click here to know how to enable developer options on Android devices
  2. Connect your android device to PC via USB cable
  3. Select “Guru99” app from applications

Use Uiautomatorviewer to Find Objects in My Application

  1. Click the ‘Device screenshot’ button to refresh the “Uiautomatorviewer” and to load the guru99 application GUI on “Uiautomatorviewer”

Use Uiautomatorviewer to Find Objects in My Application

  1. After refresh is completed, a screenshot of Guru99 application opens

Uiautomatorviewer to Find Objects in My Application

  1. As you see in the above image, on the right side of the window there are 2 panels.

Upper panel contains node hierarchy the way the UI components are arranged and contained, clicking on each node gives properties of UI elements in the lower panel

  1. Select ‘Quiz‘ button in the above image to view different properties (text, resource-id…)

Use Uiautomatorviewer to Find Objects in My Application

How to use these properties to identify elements for automation

Well, you cannot use the properties directly, each property has other names. Let’s see how to use those properties values to work. Following attributes can be used to identify ‘Quiz‘ button in Guru99 app.

  • text attribute can be used as “name”

Use Name Properties to Identify Elements For Automation

  • resource-id attribute can be used as “id”

Use Id Properties to Identify Elements For Automation

  • class attribute can be used as “className”

Use className Properties to Identify Elements For Automation

  • content-desc attribute can be used as “AccessibilityId”

    Use AccessibilityId Properties to Identify Elements For Automation

    Along with above attributes, we can write xpaths for object identification

Error one might encounter while using Uiautomatorviewer

  • I see the error- “No Android devices were detected by adb” as shown in below screenshot how I can resolve this

Error One Might Encounter While Using Uiautomatorviewer

Solution: Make sure your device is connected to PC