Skip to main content

No project description provided

Project description

🎉The Python Client of appium-uiautomator2-server

English | 简体中文

Background

At present, only one project appium-uiautomator2-client that bypasses Appium Server and interacts with appium-uiautomator2-server alone is seen on Github for Python, but it is not compatible The baseUrl of the latest appium-uiautomator2-server v5.x API has not been published on pypi. I tried to contact the author but there was no reply, so I decided to write a maintenance. For the Java version, you can see the sonic-driver-core maintained by our organization.

How to use

➡️More Document

  1. Install uiautomator2 server

You should install sonic-appium-uiautomator2-server.apk and sonic-appium-uiautomator2-server-test.apk in Here.

Alternatively, you can build your own Here

  1. Launch uiautomator2 server
adb shell am instrument -w io.appium.uiautomator2.server.test/androidx.test.runner.AndroidJUnitRunner
  1. Forward ports
adb forward tcp:6790 tcp:6790
  1. Install Depends
pip install -U sonic-uia2-client
  1. Write your script
from common.models import AndroidSelector
from uia2.driver import AndroidDriver
import os


class TestDriver:

    def __init__(self):
        self.uia_url = "http://localhost:6790"
        self.adb_serial_num = "DAISKnlasido"
        self.package_name = "com.android.settings"

    def test_demo(self):
        # launch App
        os.system(
            "adb -s {} shell monkey -p {} -c android.intent.category.LAUNCHER 1".format(self.adb_serial_num,
                                                                                        self.package_name))
        
        # connect remote uia2 server
        driver = AndroidDriver(self.uia_url)
        p = driver.get_page_source()
        print(p)
        e = driver.find_element(AndroidSelector.XPATH, "//*[@text='设置']")
        if e is not None:
            print(e.get_text())
            e.send_keys("Hello")

Thanks

LICENSE

LICENSE

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

sonic_uia2_client-0.0.9.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

sonic_uia2_client-0.0.9-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file sonic_uia2_client-0.0.9.tar.gz.

File metadata

  • Download URL: sonic_uia2_client-0.0.9.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for sonic_uia2_client-0.0.9.tar.gz
Algorithm Hash digest
SHA256 b8b1ce4dc64d41bd1b7590285b162976f82fb113de8523e73e2b8fd895c28a8a
MD5 03fbdfbe65d0752418b9b30f3ebad6e4
BLAKE2b-256 a01e8e685772aa2dba51e416bb7033a2e9d921085270e888bb8650725104f173

See more details on using hashes here.

File details

Details for the file sonic_uia2_client-0.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for sonic_uia2_client-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 720b2690d16268d60cb42fe4c7deae2a5e513d319adbdd0252677f9ad8363067
MD5 19dd0e03fb9ad5d95ad44cc86157c1ba
BLAKE2b-256 f3fa2039dd661c6444e47c0c87c922df9423af5ac3a6fee0d9a20e22823c190e

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 Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page