All Projects → AirtestProject → Airtest

AirtestProject / Airtest

Licence: apache-2.0
UI Automation Framework for Games and Apps

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to Airtest

Poco
A cross-engine test automation framework based on UI inspection
Stars: ✭ 1,177 (-79.47%)
Mutual labels:  automation, game, unity3d, test-automation, test-framework, automated-testing
Tlsfuzzer
SSL and TLS protocol test suite and fuzzer
Stars: ✭ 335 (-94.16%)
Mutual labels:  automation, test-automation, test-framework
Atata
C#/.NET test automation framework for web
Stars: ✭ 362 (-93.69%)
Mutual labels:  test-automation, test-framework, automated-testing
Unium
Automation for Unity games
Stars: ✭ 132 (-97.7%)
Mutual labels:  automation, unity3d, test-automation
Solopi
SoloPi 自动化测试工具
Stars: ✭ 4,461 (-22.19%)
Mutual labels:  automation, test-automation, automated-testing
Grizzly
A cross-platform browser fuzzing framework
Stars: ✭ 234 (-95.92%)
Mutual labels:  automation, test-framework, automated-testing
tropic
🍍 Test Runner Library
Stars: ✭ 29 (-99.49%)
Mutual labels:  test-automation, test-framework
Noahgameframe
A fast, scalable, distributed game server engine/framework for C++, include the actor library, network library, can be used as a real time multiplayer game engine ( MMO RPG/MOBA ), which support C#/Lua script/ Unity3d, Cocos2dx and plan to support Unreal.
Stars: ✭ 3,258 (-43.17%)
Mutual labels:  game, unity3d
U3d
U3d is a cross-platform set of tools to interact with Unity3D from command line.
Stars: ✭ 309 (-94.61%)
Mutual labels:  automation, unity3d
Wasmite
Now WebAssembly has proper testing, unit-testing and debugging 🤗
Stars: ✭ 20 (-99.65%)
Mutual labels:  test-automation, test-framework
Nut.js
Native UI testing / controlling with node
Stars: ✭ 309 (-94.61%)
Mutual labels:  automation, test-automation
Qtaf
QTA test framework
Stars: ✭ 370 (-93.55%)
Mutual labels:  test-automation, test-framework
playwright-fluent
Fluent API around playwright
Stars: ✭ 71 (-98.76%)
Mutual labels:  test-automation, test-framework
page-content-tester
Paco is a Java based framework for non-blocking and highly parallelized Dom testing.
Stars: ✭ 13 (-99.77%)
Mutual labels:  test-automation, test-framework
Qt4a
QTA driver for Android app
Stars: ✭ 297 (-94.82%)
Mutual labels:  test-automation, test-framework
MAQS
Magenic's automation quick start
Stars: ✭ 46 (-99.2%)
Mutual labels:  test-automation, test-framework
Multiplayer Fps
🎮 A multiplayer first person shooter game based on Unity Game Engine
Stars: ✭ 404 (-92.95%)
Mutual labels:  game, unity3d
Redrunner
Red Runner, Awesome Platformer Game.
Stars: ✭ 414 (-92.78%)
Mutual labels:  game, unity3d
Unity Build
A powerful automation tool for quickly and easily generating builds of a game with Unity.
Stars: ✭ 483 (-91.58%)
Mutual labels:  automation, unity3d
powerapps-specflow-bindings
A SpecFlow bindings library for model-driven Power Apps.
Stars: ✭ 19 (-99.67%)
Mutual labels:  test-automation, automated-testing

Airtest · Build status

Cross-Platform UI Automation Framework for Games and Apps

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

image

Features

  • 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

Supported Platforms

Installation

Use pip to install the Airtest python library.

pip install -U airtest

On MacOS/Linux platform, you need to grant adb execute permission.

# 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.
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.

# 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].