Do you need to test hard to automate some applications? Games, for instance?
I just learned about an open-source tool that can make it easier. It’s called AirTest, and I wanted to write a quick post about it.
AirTest is an open-source, test automation tool aimed at hard-to-automate applications like games.
No surprise, really, since one of the largest game companies in the world, NetEase, developed it.
It currently has more than 1,265 stars on GitHub.
For even more cred, it was developed in conjunction with Google.
AirTest Technology Stack
I recently discussed AirTest with Noemi Ferrera, a computer scientist and automation engineer at NetEase who helped create it.
She describes it as a cross-platform, UI test automation Integrated Development Environment (IDE) for games and apps. It provides a wide range of tools for mobile app developers and testers to write fully automated test scripts in a convenient way and in an easy-to-use environment.
Automation testing using AirtestIDE utilizes the advantages of two test frameworks that have image and UI recognition techniques—Airtest and Poco.
AirTest provides cross-platform APIs using image recognition technologies and is compatible with all Android mobile applications and Windows games.
As I mentioned earlier, it also leverages Poco.
How is AirTest Different than Other Automation Testing Frameworks?
You may be accustomed to using tools that have visual testing, or use the DOM or object model abstractions. With AirTest you can, within the same IDE, use either approach from many different platforms. You also write your test in Python.
What about Selenium
AirTest also has a plugin for Selenium that gives you the ability to also record and edit tests for a browser application. Once you set up the path to the Chrome driver you can record or directly code up you selenium test automation script.
What is Poco?
Poco is a cross-engine, UI automation framework that provides engine-independent, powerful APIs that retrieve the UI element hierarchy in an app’s runtime.
Poco supports mainstream game engines such as Unity3D, Cocos2dx, and native Android apps.
AirTest and Game Testing with Unity
I've spoken with a few game developers and none of them seem to use automated testing solution. Mostly because they told me they were not aware of any. Neither was I — until now.
AirTest uses Poco to help accurately locate the position of the elements on a game screen in the actual UI tree. Using Poco access method it's able to test your game engine like Unity3D by using the Poco SDK.
The Poco SDK supports Unity3D version 4 & 5, ngui & ugui, and C#.
If you’re doing Unity game testing, you should try it out.
Sound good?
Give AirTest a Try for Your Automation Testing
Check out AirTests’ Getting Started with AirtestIDE post, which contains some tutorial videos.
Noemi went on to assert that it’s a lovely automation solution; however, it’s not well-known in Europe or in the USA, but hopefully, we'll be able to change that.
What might be interesting if the tool/framework get a WebDriver API wrapper around it. That is, drive/use the tool via WebDriver API (via a RemoteWebDriver server implementation running) rather than their native API/SDK.