openatx/uiautomator2

Android Uiautomator2 Python Wrapper

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 37 minutes ago
Added to GitGenius on September 7th, 2026
Created on September 17th, 2017
Open Issues & Pull Requests: 206 (+0)
GitHub issues: Enabled
Number of forks: 1,599
Total Stargazers: 8,337 (+0)
Total Subscribers: 190 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.7 days
Mean response time: 40.4 days
90th percentile: 119.8 days
Tracked items: 88

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 99% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 7% of issues opened in the past year have been closed. Three people close 71% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 76
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 488 days
Stale 30+ days: 75
Stale 90+ days: 72

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (11)
  • feature request (3)
  • device specific (2)
  • enhancement (2)
  • help wanted (2)
  • question (2)
  • good first issue (1)
  • hard-reproduce (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

uiautomator2 is a Python wrapper for Android UI automation that exposes UiAutomator capabilities through HTTP interfaces.

The tool solves the problem of automating Android app testing and interaction by running an HTTP service on the device side based on UiAutomator and communicating with it from Python via HTTP protocol. This architecture simplifies Python-side code by abstracting away the complexity of direct UiAutomator integration. The framework consists of two parts: a device-side HTTP service that provides automation interfaces, and a Python client that invokes those interfaces. Users connect to an Android device via ADB and then control it through Python commands.

The tool suits developers and QA engineers automating Android app testing on devices running version 4.4 or later with Python 3.8 or higher. It is particularly useful for those who prefer writing automation scripts in Python rather than Java or other languages. The README mentions alternatives including uiautomatorviewer and Appium Inspector for element inspection. The project supports multiple connection methods including device serial number, environment variables, and transport ID, and provides XPath-based element selection alongside UiAutomator API operations. A third-party webview plugin is available for testing web content within apps.

The project maintains active community engagement through QQ groups and Discord. Development includes migration guidance for users upgrading from version 2.x to 3.x, indicating significant evolution of the codebase. The tool is designed with extensibility in mind, with future plugins integrated as third-party libraries rather than core features to maintain simplicity. The underlying device-side jar file is also open source, allowing inspection and contribution at the implementation level.