AirtestProject

Airtest ·

UI Automation Framework for Games and Apps
Under Apache License 2.0
By AirtestProject

windows android unity3d game ios automation automated-testing test-automation test-framework

Airtest ·

Cross-Platform UI Automation Framework for Games and Apps


跨平台的UI自动化框架,适用于游戏和App (中文版点这里)



Features

Get started from airtest homepage


Supported Platforms
Installation

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


for mac

cd {your_python_path}/site-packages/airtest/core/android/static/adb/mac


for linux
cd {your_python_path}/site-packages/airtest/core/android/static/adb/linux

chmod +x adb
```


Download AirtestIDE from our homepage if you need to use the GUI tool.


Documentation

You can find the complete Airtest documentation on readthedocs.


Examples

Airtest aims at providing platform-independent API so that you can write automated cases once and run it on multiple devices and platforms.



  1. Using connect_device API you can connect to any android/iOS device or windows application.

  2. Then perform simulated input to automate your game or app.

  3. DO NOT forget to make assertions of the expected result.


```Python
from airtest.core.api import *


connect an android phone with adb

init_device("Android")


or use connect_device api
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")
```


For more detailed info, please refer to Airtest Python API reference or take a look at API code


Running .air cases from CLI

Using 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


run cases targeting on Android phone connected to your host machine via ADB

airtest run "path to your .air dir" --device Android:///


run cases targeting on Windows application whose title matches Unity.*

airtest run "path to your .air dir" --device "Windows:///?title_re=Unity.*"


generate HTML report after running cases

airtest report "path to your .air dir"


or use as a python module

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.


Contribution

Pull requests are very welcome.


Thanks

Thanks for all these great works that make this project better.