移动应用 活跃维护

Airtest

AirtestProject/Airtest

游戏和应用的UI自动化框架

9582
Stars 标星
1453
Forks 分支
219
Watchers 关注
486
Open Issues
Python
主要语言
Apache-2.0
开源协议
376.0 MB
仓库大小
6 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:AirtestProject/Airtest
git clone https://github.com/AirtestProject/Airtest.git
git clone git@github.com:AirtestProject/Airtest.git
README.md master

官方中文正文为项目官方提供的中文文档(原文转载),本站未作翻译、未改动文字,仅剔除图片与无关章节。

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,让你的自动化代码可以运行在不同平台的应用上。

  1. 使用 connect_device 来连接任意Android设备或者Windows窗口。
  2. 使用 模拟操作 的API来自动化你的游戏或者App。
  3. 不要 忘记 声明断言 来验证结果。
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://www.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 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。