Mago
Mago - A Desktop Testing Initiative
Mago is an desktop testing initiative that aims to have a set of processes and code to make writing automated test scripts easier and more reusable.
Although we started this effort as an Ubuntu project it works for vanilla GNOME in most of the cases.
Technology
We are using LDTP (http://ldtp.freedesktop.org/), as the upstream project is really well maintained and the Ubuntu QA team is already using it (https://wiki.ubuntu.com/Testing/Automation/Desktop/). LDTP access the applications through the accessibility libraries and, therefore, an application will need to be accessibility enabled in order to be tested with Mago.
Parts of Mago
The Mago project is divided in three parts: the desktoptesting library, the testrunner and the tests themselves.
Test Runner: under the bin folder, the mago script, runs the test cases and parses the log.
desktoptesting library: python library that creates a wrapping framework for Ubuntu and GNOME applications based on LDTP that will hide the lower levels of details to the test script.
Tests: The tests themselves
Documentation
Getting Started - How to get the project and how to run the already available tests.
Adding New Tests - If the application that you want to test is already available in the desktoptesting library, you can add more test suites or cases to it following this document.
Adding New Applications - If the application that you want to test is not yet in the desktoptesting library, you can add it following this document.
Design - Do you want to hack the framework? Read a bit about the internals here.
Available Applications
We are going to track the coverage of the applications is a simple table, to have an idea of what applications have some coverage.
Some test results are also available: