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.1.tar.gz (21.6 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.1-py3-none-any.whl (21.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ha4t-0.1.1.tar.gz
  • Upload date:
  • Size: 21.6 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.1.tar.gz
Algorithm Hash digest
SHA256 ff181c2fb7ed5f6efae501674a6be2e78832359f9b4aa66e80739bca448a746d
MD5 c9b5b35741ad7649b23e5bfd112516e4
BLAKE2b-256 1dfed70290ffd502a4dbd17ba13050c1a768825c997d7800589ad3d3f59231ae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ha4t-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 21.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 61a0c05800de1e8700bd53ee178cd47da660b73d88b0e075c8e50a3b7b7bad0a
MD5 58ced49f8ec4ef0506cd096608a936f9
BLAKE2b-256 2d06c0d43ce0508dddd33e4045d5f37928e6ff84fc97f980da4bb05b41972c10

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