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.
This is no longer the primary wiki for Mago! The data here is being copied to the Mago wiki. Please update your bookmarks.
We have set up a project, Mago, built on top of LDTP (http://ldtp.freedesktop.org/), that aims to have a consistent way of writing tests, making them easier to maintain.
The Mago project is hosted in Launchpad at https://launchpad.net/mago
To can branch the project by typing:
bzr branch lp:mago
The trunk branch is owned by a Launchpad team, mago-contributors, that it is a moderated team. Once you have contributed through merge proposals, you can apply to be part of the team and will be able to push to trunk and review some other members contributions.
You can view the source at http://bazaar.launchpad.net/~mago-contributors/mago/mago/files
- #gnome-testing in irc.gnome.org
- #ubuntu-testing in irc.freenode.org
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.
mago 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
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.
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: