11
Mago makes heavy use of LDTP (http://ldtp.freedesktop.org) to interact with the application and it uses the Accessibility libraries to discover through the application's user interface.
13
To enable the Assistive Technologies, select the menu **System -> Preferences -> Assistive Technologies**. the following dialog will be displayed.
15
.. image:: assistive.png
19
Check the box **Enable Assistive Technologies**
21
Alternatively you can enable it from the command line. Open a terminal and run:
25
# Enable accessibility for the current user
26
$ gconftool-2 --set --type bool /desktop/gnome/interface/accessibility true
29
You may also need to disable the screensaver to prevent the hang of the tests.
31
Finally restart your GNOME session (log out and log in)
37
In order to get a fully working system you need the following packages:
40
To take advantage of new features introduced in unittest
43
Easy to use distributed version control system to get mago and push changes if you want to contribute.
46
The glue that uses the "Accessibility" libraries to poke through the application's user interface
49
Test discovery and running for Python's unittest
52
Interface for Python to the X11 Protocol
55
Python Imaging Library used for image compairison
59
The Mago project is hosted in Launchpad at https://launchpad.net/mago
61
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.
63
To get Mago from Launchpad you need to install the tool Bazaar (http://doc.bazaar.canonical.com)
64
Then run the following command to get the latest version from the Bazaar repository:
70
This will create a directory ``mago``. Go to this newly created directory and you'll be able to start running your first tests.
72
You can get the help of mago by running the command:
82
The directory ``examples/`` contains few pieces of code which exercises different parts of mago.
84
Mago uses Nose (http://somethingaboutorange.com/mrl/projects/nose/) to collect and run tests and follows the same syntax.
86
To run a specific example:
90
$ ./bin/mago examples/test_minimal.py
97
$ ./bin/mago -w examples test_minimal
100
To run all the tests in a directory enter:
104
$ ./bin/mago examples/
106
.. automodule:: test_minimal