DEV.co
Open-Source Testing · AirtestProject

Airtest

Airtest is a Python-based UI automation framework designed for cross-platform testing of games and applications on Android, iOS, Windows, and web platforms. It uses image recognition to locate UI elements without code injection and includes both CLI and GUI (AirtestIDE) tooling for test creation, execution, and reporting.

Source: GitHub — github.com/AirtestProject/Airtest
9.5k
GitHub stars
1.4k
Forks
Python
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
RepositoryAirtestProject/Airtest
OwnerAirtestProject
Primary languagePython
LicenseApache-2.0 — OSI-approved
Stars9.5k
Forks1.4k
Open issues482
Latest releasev1.4.3 (2025-12-04)
Last updated2026-03-23
Sourcehttps://github.com/AirtestProject/Airtest

What Airtest is

Airtest provides platform-agnostic APIs for device connection, simulated input (touch, swipe, keypress), app lifecycle management, and assertion-based validation using template matching. It supports integration with Poco for direct object hierarchy access and scales via command-line execution or Python API for device farm deployment.

Quickstart

Get the Airtest source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/AirtestProject/Airtest.gitcd Airtest# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Cross-platform mobile game testing

Automate QA for games targeting Android and iOS without requiring code injection into the game engine. Image recognition allows testing of visual gameplay elements across multiple device configurations.

Large-scale regression testing on device farms

Execute test suites across hundreds of devices using CLI or Python API integration. HTML reporting and screen recording capabilities reduce debugging time for distributed test failures.

Unity and game engine app automation

Automated testing for Unity-based and cross-engine game applications where traditional UI automation frameworks struggle due to custom rendering or obfuscated object hierarchies.

Implementation considerations

  • Image recognition tuning requires baseline screenshots and confidence thresholds; poor template quality leads to flaky tests. Plan for template maintenance as app UI evolves.
  • Platform-specific setup needed: ADB permissions on macOS/Linux, Windows application title matching, iOS provisioning. Device heterogeneity (screen sizes, resolutions) may require template variants.
  • CLI execution requires proper device provisioning and networking (ADB over network or local USB). Test parallelization depends on device farm infrastructure outside Airtest scope.
  • AirtestIDE GUI tool separate download from PyPI package; deployment workflows must account for tool installation and path management if using IDE-created .air files.
  • Poco integration for direct object access requires game engine instrumentation (not codeless). Evaluate Poco vs. pure image-recognition trade-offs per project needs.

When to avoid it — and what to weigh

  • Highly dynamic or procedurally-generated UIs — Image recognition-based locators struggle with dynamic layouts or heavily varied visual states. Traditional XPath/accessibility-based frameworks may be more reliable for unpredictable UI changes.
  • Performance-critical test environments with strict latency requirements — Image recognition processing and template matching introduce overhead that may not be acceptable for CI/CD pipelines requiring sub-second test execution times.
  • Enterprise applications requiring formal vendor support and SLAs — Airtest is community-driven with no clear commercial support entity beyond NetEase's Airlab service. No SLA, formal support contracts, or vendor accountability framework evident.
  • Accessibility or semantic testing requirements — Image-based approach cannot validate WCAG compliance, screen reader compatibility, or semantic HTML structure. Not suitable for accessibility-first QA mandates.

License & commercial use

Apache License 2.0 (Apache-2.0) is a permissive OSI-approved license allowing commercial use, modification, and distribution with liability limitations. License is clear and unambiguous.

Apache-2.0 permits commercial use without royalty. However, no formal vendor support or indemnification from NetEase or AirtestProject contributors is evident. Commercial users should conduct legal review and assess support availability before production deployment. Airlab (commercial cloud service) is separate from OSS project licensing.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Airtest does not cryptographically secure device communication; uses ADB for Android which has known security implications if running on untrusted networks. Test artifacts (screenshots, recordings) may contain sensitive app data—ensure secure storage and access controls for test reports. No explicit CVE or vulnerability disclosure process documented. Use of image recognition does not mitigate injection attacks in underlying device communication. Evaluate network isolation for CI/CD device farms.

Alternatives to consider

Appium

Industry-standard WebDriver-based mobile automation supporting iOS and Android via Selenium. Stronger community, vendor support options, and XPath-based locators. Better for accessibility and semantic testing but requires app instrumentation.

Cucumber/Gherkin + Platform-Specific Tools

BDD-friendly approach with XCTest (iOS) or Espresso (Android) for native apps. Better control flow and stakeholder alignment but requires language-specific setup per platform.

Play.test (Google), XCUITest (Apple)

Native first-party testing frameworks with direct engine access and performance profiling. Less cross-platform but tighter integration and official vendor support for iOS/Android respectively.

Software development agency

Build on Airtest with DEV.co software developers

Airtest's image recognition and CLI tooling scale across device farms. Start with pip install and explore our examples. For production deployments and device farm integration, consult our engineering team.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

Airtest FAQ

Can I run Airtest tests on a CI/CD pipeline without AirtestIDE?
Yes. Use `airtest run` CLI with `--device` parameter to execute .air files or Python scripts on connected devices. Integrate with Jenkins/GitLab CI by invoking the CLI in pipeline stages. Requires device provisioning infrastructure external to Airtest.
Does Airtest work with games that use custom rendering engines?
Pure image recognition works with any rendering engine (Unity, Unreal, custom). Pero uses Poco integration for direct object hierarchy access; Poco requires engine-specific SDKs. Evaluate trade-offs: image recognition is codeless but fragile; Poco requires instrumentation but is more robust.
What is the difference between Airtest and Poco?
Airtest is the UI automation framework using image recognition and simulated input. Poco is a separate module/project that adds direct access to object hierarchies (e.g., game UI elements, Android view trees) for more precise element identification. Poco requires code integration into the target app; Airtest does not.
Is commercial support available for Airtest?
No formal commercial support or SLA from the OSS project. NetEase operates Airlab (cloud device farm service) which includes support, but that is separate from the core Airtest library. Community support via GitHub issues only.

Software development & web development with DEV.co

From first prototype to production, DEV.co delivers software development services around tools like Airtest. Our software development agency staffs experienced software developers and web developers for custom software development, web development, integrations, and ongoing support across open-source testing and beyond.

Ready to Automate Your App Testing?

Airtest's image recognition and CLI tooling scale across device farms. Start with pip install and explore our examples. For production deployments and device farm integration, consult our engineering team.