Skip to main content

Enable and verify Android USB tethering via uiautomator2, with device detection and helpers to download files and extract tar archives over the tethered LAN—useful for transfer testing and automation.

Project description

Wetest USB Tethering

Wetest USB Tethering 通过 uiautomator2 提供的控件操作能力,开启 Android 设备的 USB 共享功能。

使用指南

fastpusher 自动化测试使用说明

安装

支持 Python 3.8 及以上版本

python -m pip install wetest-usb-tethering --upgrade --extra-index-url https://mirrors.tencent.com/repository/pypi/tencent_pypi/simple

快速上手

from wetest.usbtethering import create_device

device = create_device()
assert device.is_connected()

device.enable_usb_tethering()
assert device.is_usb_tethering_enabled()

device_file_path = device.download_file(download_file, "/sdcard/" + download_file)

更多示例请参考 examples 目录

原理说明

项目架构

本项目主要包含以下几个核心模块:

src/wetest/usbtethering/
├── device_factory.py            # 设备工厂,负责自动识别设备品牌并创建对应实例
├── uiautomator_manager.py       # UIAutomator管理器,处理设备连接和冲突
└── devices/
    ├── base.py                  # 设备基类,定义开启 USB 共享功能的通用接口
    └── honor.py                 # 荣耀设备开启 USB 共享功能的实现
    └── oppo.py                  # Oppo 设备开启 USB 共享功能的实现
└── resources/
    ├── fastpusher_linux_x86_64  # fastpusher 工具,从 https://git.woa.com/CloudTesting/UDT/fastpusher/-/tags 获取

扩展支持

要支持新的设备品牌,只需:

  1. devices/ 目录下创建新的设备类,继承 BaseDevice
  2. 实现 _toggle_usb_tethering_on 方法,用于开启 USB 共享功能
  3. device_factory.py 中注册新的品牌映射关系

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wetest_usb_tethering-0.0.3-py3-none-any.whl (3.3 MB view details)

Uploaded Python 3

File details

Details for the file wetest_usb_tethering-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for wetest_usb_tethering-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a654b9f342c4a8f671e1a87f52eb74bcf5d1f6e4aee9b5633f40a4d224603582
MD5 f655d669c1a542702111c74f7888b613
BLAKE2b-256 28b4d0eece68afcc4cc4d825bc2d397fcbbd0aadf61fee0969b34ce9bbb8dacc

See more details on using hashes here.

Supported by

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