MozMill is a test tool and framework for writing automated tests for Gecko based applications (Firefox, Thunderbird, Songbird, etc). It is built as a command line client to let you run, and debug tests. MozMill has an extensive API to help you write functional tests that simulate user interactions, as well as a full unit test API.
The Mozmill test automation project was started in January 2009 and covers the automation work for Firefox. Checkout the project page or have a look at the Mozmill Tests documentation to get an impression how to contribute in writing and running Mozmill tests. Existing tests get run in the release testing cycle for new major or security releases of Firefox.
Also the Mozilla Messaging team has an active project which handles Thunderbird Testing with Mozmill.
If you have questions or issues with Mozmill you might want to send us an email to the mozmill-dev mailing list. For bugs please submit a ticket on bugzilla.mozilla.org under the Testing/Mozmill component.
The simpliest way to have Mozmill running on Windows is by getting this mozmill-env archive. Just extract it and run cmd.run every time you need to use Mozmill. It will open a Unix-like console that will already have Mozmill installed.
Mac OS X
If you are running Mac OS X 10.4, you have to download and install at least Python 2.5 from python.org before completing the following steps. All later versions of OS X may skip that step and continue as follows.
Install Mozmill with the setuptools by running each of the scripts below, one by one, in order:
curl -O https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py sudo python ez_setup.py sudo easy_install pip sudo pip install mozmill
Debian-like GNU-Linux distributions (Debian, Ubuntu, etc.)
To install Mozmill on Ubuntu you only have to run two commands in the terminal:
$ sudo apt-get install python-pip $ sudo pip install mozmill
You can find out your Mozmill version by running:
$ mozmill --v
The current stable version of Mozmill is 2.0. Most likely you have installed this version with the above steps. If the bug you're working on does not require 2.0, then please run the following command, to get the last version of the 1.5 branch:
$ sudo pip install --upgrade mozmill==1.5.24
For development of Mozmill 2.0, we advise you to use a virtual environment and to follow these steps.
We have a few other pages to help you get the most out of Mozmill. You might want to bookmark these for reference later.
- Mozmill tests for Firefox - how to run the Mozmill tests for Firefox
- Using the Driver - how to use Mozmill's driver in your extension without having to worry about the test harness bits.
- controller object reference
- elementslib object reference (deprecated in Mozmill 2.0 - see finding mozmill elements)
- element object reference (Mozmill 2.0+)
- finding mozmill elements (Mozmill 2.0+)
- mozmill object reference
- unit test API reference (dropped in Mozmill 2.0 - use the assertions API instead)
- extending the element hierarchy
- Mozmill shared modules
Mozmill is still in development, like most test systems in the Mozilla project. If you think you've found a bug, please check the list of existing bugs. If your found bug is not listed there, please file a new bug under the "
Testing" Product and "
Mozmill" Component. Please provide as much as possible details and attach the Mozmill test if available, which shows the problem. Thanks for filing!