Skip to main content

跨平台的UI自动化框架,适用于混合型app

Project description

HA4T 🐍

PyPI version Documentation Status

HA4T (Hybrid App For Testing Tool) 是一个跨平台的UI自动化框架,适用于混合型app、web和原生app等。该框架基于airtest aircv模块、飞浆OCR、WS、uiautomator2和facebook_wda进行开发。 (目前仅个人开发和使用,可能存在一些问题~)

特性

  • 跨平台支持:适用于iOS、Android和Web应用
  • 多种定位方式:支持图像识别、OCR文字识别、webview定位、原生控件定位等
  • 灵活的操作API:提供点击、滑动、输入等常用操作

安装

使用pip安装HA4T:

pip install ha4t

快速开始

以下是一个简单的示例,展示如何使用HA4T进行基本操作:

# 原生定位
from ha4t import connect
from ha4t.api import *

connect(platform="android")

# 启动应用
start_app(activity="com.xxx.xxx.MainActivity", app_name="com.xxx.xxx")

# 等待
wait(text="添加新项目", timeout=30)

# orc 文字识别定位 中/英
click("添加新项目")
# 图像匹配定位
click(image="./添加新项目.png")
from ha4t.aircv.cv import Template

click(Template("./添加新项目.png"))
# u2 元素定位
click(text="添加新项目")

# webview 定位
from ha4t.cdp.cdp import CDP
from ha4t.cdp.server import CdpServer
from ha4t.cdp.by import By

cdp_server = CdpServer()
cdp_server.start_server_for_android_app(device.driver.adb_device)
cdp = CDP(cdp_server.ws_endpoint)

window = cdp.get_page(["homePage"])
time.sleep(3)
window.click((By.TEXT, "新建项目"))

详细文档(未完善)

查看详细文档以获取更多信息,包括:

  • 完整的API参考
  • 高级用法指南
  • 最佳实践和技巧

问题和支持

如果您遇到任何问题或需要支持,请提交一个issue

许可证

本项目采用MIT许可证。详情请见LICENSE文件。

致谢

HA4T 的开发得益于以下开源项目:

如果您觉得HA4T对您有帮助,请考虑给项目一个星标 ⭐️

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

ha4t-0.1.6.tar.gz (21.7 MB view details)

Uploaded Source

Built Distribution

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

ha4t-0.1.6-py3-none-any.whl (21.9 MB view details)

Uploaded Python 3

File details

Details for the file ha4t-0.1.6.tar.gz.

File metadata

  • Download URL: ha4t-0.1.6.tar.gz
  • Upload date:
  • Size: 21.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ha4t-0.1.6.tar.gz
Algorithm Hash digest
SHA256 122d3a997f0815d02914326a820fdfc802bbd36eb6c2756925182412e5823096
MD5 60af2357aeab3b1ad8ee3907a34f2231
BLAKE2b-256 8889634ad6888a7bf04eb83af3be61cde9cda0eb27898d1c1d1c5e0c1efeabac

See more details on using hashes here.

File details

Details for the file ha4t-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: ha4t-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 21.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ha4t-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5c81031b1152004e23b7a1cfa637c81702650afe5b49ba543a244d372170bf20
MD5 a249d3c41ea00d78f7d8000ce04a063e
BLAKE2b-256 e61ce710ab3871d5d6c1178336103ceb69a30f98b59fdb4bc4a202c7dc1cd3ba

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