Cruise Control
To get rid of tedious manual testing for the Unity shell, Ubuntu developers invented a framework for automated functional testing. Over time, its scope has extended beyond Unity, making it possible to test any graphical application.
©Kirill Zdorov, fotolia.com
To get rid of tedious manual testing for the Unity shell, Ubuntu developers invented a framework for automated functional testing. Over time, its scope has extended beyond Unity, making it possible to test any graphical application.
Functional testing involves verifying application behavior against given design specifications. For graphical applications, this process usually means performing specific user interactions with its interface, such as moving the mouse, clicking buttons, typing character sequences, and comparing the resulting application state and outputs against the expectations. When Unity – the flagship user interface of Ubuntu – was growing in complexity, the need for a practical automated testing suite appeared.
The first versions of Autopilot were embedded into the Unity source, as its sole purpose was for testing the shell. Now, after many development cycles, Autopilot has blossomed into a multi-purpose functional testing framework for any graphical user interface.
Autopilot is a Python-based automated testing tool for graphical interfaces running on GNU/Linux systems [1]. The tool enables developers to perform input operations (with mouse, keyboard, or even touch gestures) on the application just as a normal user would, but automatically. By using application introspection, Autopilot later can assert whether the final application state equals the expectations.
[...]