Airtest ·
UI Automation Framework for Games and Apps
Under Apache License 2.0
By AirtestProject
UI Automation Framework for Games and Apps
Under Apache License 2.0
By AirtestProject
Airtest ·
Cross-Platform UI Automation Framework for Games and Apps
跨平台的UI自动化框架,适用于游戏和App (中文版点这里)
Write Once, Run Anywhere: Airtest provides cross-platform APIs, including app installation, simulated input, assertion and so forth. Airtest uses image recognition technology to locate UI elements so that you can automate games and apps without injecting any code.
Fully Scalable: Airtest cases can be easily run on large device farms, using commandline or python API. HTML reports with detailed info and screen recording allow you to quickly locate failure points. NetEase builds Airlab on top of the Airtest Project.
AirtestIDE: AirtestIDE is an out of the box GUI tool that helps to create and run cases in a user-friendly way. AirtestIDE supports a complete automation workflow: create -> run -> report
.
Poco: Poco adds the ability to directly access object(UI widget) hierarchy across the major platforms and game engines. It allows writing instructions in Python, to achieve more advanced automation.
Get started from airtest homepage
Use pip
to install the Airtest python library.
Shell
pip install -U airtest
On MacOS/Linux platform, you need to grant adb execute permission.
```Shell
cd {your_python_path}/site-packages/airtest/core/android/static/adb/mac
chmod +x adb
```
Download AirtestIDE from our homepage if you need to use the GUI tool.
You can find the complete Airtest documentation on readthedocs.
Airtest aims at providing platform-independent API so that you can write automated cases once and run it on multiple devices and platforms.
```Python
from airtest.core.api import *
init_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")
```
For more detailed info, please refer to Airtest Python API reference or take a look at API code
.air
cases from CLIUsing AirtestIDE, you can easily create automated cases as .air
directories.
Airtest CLI provides the possibility to execute cases on different host machines and target device platforms without using AirtestIDE itself.
```Shell
airtest run "path to your .air dir" --device Android:///
airtest run "path to your .air dir" --device "Windows:///?title_re=Unity.*"
airtest report "path to your .air dir"
python -m airtest run "path to your .air dir" --device Android:///
```
Try running provided example case: airtest/playground/test_blackjack.air
and see Usage of CLI. Here is a multi-device runner sample.
Pull requests are very welcome.
Thanks for all these great works that make this project better.