官方中文正文为项目官方提供的中文文档(原文转载),本站未作翻译、未改动文字,仅剔除图片与无关章节。
Airtest ·
跨平台的UI自动化框架,适用于游戏和App
快速开始
-
各种运行: Airtest提供了跨平台的API,包括安装应用、模拟输入、断言等。 基于图像识别技术定位UI元素,你无需嵌入任何代码即可进行自动化。
-
扩展性: Airtest提供了命令行和python接口,可以很容易地在大规模设备集群上运行。自动生成的HTML报告,包含详细步骤和录屏,让你迅速定位失败点。
-
AirtestIDE: 是一个强大的GUI工具,可以帮助你录制和调试自动化脚本。 AirtestIDE支持了完整的自动化流程:
录制脚本->真机回放->生成报告。 -
Poco: Poco 框架可以直接访问UI控件,支持主流平台和游戏引擎。通过Python API操作UI控件,可以实现更强大的自动化控制。
跨平台支持
安装
使用 pip 安装Airtest框架
pip install -U airtest
在Mac/Linux系统下,需要手动赋予adb可执行权限
# mac系统
cd {your_python_path}/site-packages/airtest/core/android/static/adb/mac
# linux系统
# cd {your_python_path}/site-packages/airtest/core/android/static/adb/linux
chmod +x adb
如果你需要使用GUI工具,请从 官网 下载AirtestIDE。
文档
完整的Airtest文档请看 readthedocs。
例子
Airtest希望提供平台无关的API,让你的自动化代码可以运行在不同平台的应用上。
- 使用 connect_device 来连接任意Android设备或者Windows窗口。
- 使用 模拟操作 的API来自动化你的游戏或者App。
- 不要 忘记 声明断言 来验证结果。
from airtest.core.api import *
# 通过ADB连接本地Android设备
init_device("Android")
# 或者使用connect_device函数
# connect_device("Android:///")
connect_device("Android:///")
install("path/to/your/apk")
start_app("package_name_of_your_apk")
touch(Template("image_of_a_button.png"))
swipe(Template("slide_start.png"), Template("slide_end.png"))
assert_exists(Template("success.png"))
keyevent("BACK")
home()
uninstall("package_name_of_your_apk")
更详细的说明请看 Airtest Python API 文档 或者直接看 API代码 。
用命令行运行 .air 脚本
使用AirtestIDE你可以非常轻松地录制一个自动化脚本并保存为 .air 目录结构。 Airtest命令行则让你能够脱离IDE,在不同宿主机器和被测设备上运行自动化脚本。
# 在本地ADB连接的安卓手机上运行脚本
airtest run "path to your air dir" --device Android:///
# 在Windows应用上运行脚本
airtest run "path to your air dir" --device "Windows:///?title_re=Unity.*"
# 生成HTML报告
airtest report "path to your air dir"
# 也可以用python -m的方式使用命令行
python -m airtest run "path to your air dir" --device Android:///
试试样例airtest/playground/test_blackjack.air,更多用法看命令行用法。
贡献代码
欢迎大家fork和提pull requests。
致谢
感谢以下仓库让Airtest变得更好:
关于我们
访问我们的官网获得更多信息,同时欢迎大家扫描下方二维码关注我们的微信公众号:AirtestProject
- 本文标题:Airtest - 游戏和应用的UI自动化框架
- 本文链接:https://cn121.com/mobile/airtestproject-airtest.html
- 原项目:AirtestProject/Airtest 版权归原作者 AirtestProject 及贡献者所有
- 收录信息:本站于 2026-09-30 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 Apache-2.0(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。本站对原文仅作排版与图片地址适配, 并保留原项目的 NOTICE 与署名要求。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 AirtestProject/Airtest。
- 内容说明:本页正文为项目官方提供的中文文档(原文转载),本站未作翻译、未改动文字,仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。