HA4T 🐍
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 的开发得益于以下开源项目:
- airtest
- uiautomator2
- facebook-wda
- paddleocr
- ios-webkit-debug-proxy
- ui-viewer (MIT License) — 编辑器模块基于此项目二次开发
如果您觉得HA4T对您有帮助,请考虑给项目一个星标 ⭐️
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
ha4t-0.1.6-py3-none-any.whl
(21.9 MB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
122d3a997f0815d02914326a820fdfc802bbd36eb6c2756925182412e5823096
|
|
| MD5 |
60af2357aeab3b1ad8ee3907a34f2231
|
|
| BLAKE2b-256 |
8889634ad6888a7bf04eb83af3be61cde9cda0eb27898d1c1d1c5e0c1efeabac
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c81031b1152004e23b7a1cfa637c81702650afe5b49ba543a244d372170bf20
|
|
| MD5 |
a249d3c41ea00d78f7d8000ce04a063e
|
|
| BLAKE2b-256 |
e61ce710ab3871d5d6c1178336103ceb69a30f98b59fdb4bc4a202c7dc1cd3ba
|