Skip to main content

A Python wrapper for Android UI Automator

Project description

Snippet UiAutomator

Latest release APK Build Status Python Build Status

This is the Python wrapper based on Mobly Snippet Lib for calling the AndroidX UiAutomator APIs.

Requirements

  • Python 3.7+
  • Android 8.0+ (SDK 26+)

Installation

pip install snippet-uiautomator

Initial Mobly Android Controller

  • Inside Mobly Test

    To use in a Mobly test, the Android device needs to be initialized in the Mobly base test.

    from mobly import base_test
    from mobly.controllers import android_device
    
    class MoblyTest(base_test.BaseTestClass):
      def setup_class(self):
        ad = self.register_controller(android_device)[0]
    
  • Outside Mobly Test

    If not using in a Mobly test, such as when running in a Python terminal, the Android device can be initialized with its serial number.

    from mobly.controllers import android_device
    
    ad = android_device.AndroidDevice('GOOG1234567890')
    

To learn more about Mobly, visit Getting started with Mobly.

Launch UiAutomator Service

[!WARNING] UiAutomation is a service that can only be used by one app at a time. If this service is already being registered by another app, Snippet UiAutomator will not be able to start. To resolve this issue, stop the app holding the UiAutomation service before calling Snippet UiAutomator.

Snippet UiAutomator supports launching as one of Mobly Android Device Service.

from snippet_uiautomator import uiautomator

ad.services.register(
    uiautomator.ANDROID_SERVICE_NAME, uiautomator.UiAutomatorService
)

ad.ui(text='OK').click()

Test

Run unit tests for Python part:

pytest

Run tests for Snippet part:

cd snippet_uiautomator/android
./gradlew test

Set up pre-commit hooks, this will run some automated checks during each git commit and possibly update some files that require changes:

pip install pre-commit
pre-commit install

API Usage

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

snippet-uiautomator-1.1.2.tar.gz (2.3 MB view details)

Uploaded Source

File details

Details for the file snippet-uiautomator-1.1.2.tar.gz.

File metadata

  • Download URL: snippet-uiautomator-1.1.2.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for snippet-uiautomator-1.1.2.tar.gz
Algorithm Hash digest
SHA256 b5eaa53daa20e38015fc20a43624625b7681e4aa8b1947caa8fbecb3a4349101
MD5 64ffa3e2e51d80a147491cb54709036d
BLAKE2b-256 0bce1487a129bdf62198be5b99eb2464d2cb7c5afbfc3c7b9a345cf19d948e3a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page