Mozmill

  • Revision slug: Mozmill
  • Revision title: Mozmill
  • Revision id: 68228
  • Created:
  • Creator: Whimboo
  • Is current revision? No
  • Comment no wording changes

Revision Content

MozMill is a test tool and framework for writing automated tests for Gecko based applications (Firefox, Thunderbird, Songbird, etc). It is built as an extension which includes an IDE (integrated development environment) or as a command line client to help you write, 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.

Installation

Mozmill can be installed in two different ways. For most use cases, we recommend the Mozmill Extension, available on add-ons.mozilla.org.  This comes with an integrated development environment, some test authoring tools, and a graphical interface to run the tests. For more advanced users who are interested in restart tests and operating system interaction we recommend installing the command line client using python's standard setuptools package installer.

The Extension

To install the extension simply open the "Get Add-ons" tab of the Add-ons Manager and search for Mozmill. But it can also be installed directly from the addons.mozilla.org website. Restart the application to finish the installation process.

The Command Line Client

To install the command line version of Mozmill a few more steps are required. They are slightly different for each operating system.

Windows

Before Mozmill can be installed the MozmillBuild package has to be installed on your system. Just grab the latest build and install it manually. Afterward run the following command to install the Mozmill command line client.

$ easy_install mozmill 

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 first. Afterward, install Mozmill with the setuptools.

$ curl -O http://peak.telecommunity.com/dist/ez_setup.py
$ sudo python ez_setup.py
$ sudo easy_install mozmill

Ubuntu

To install Mozmill on Ubuntu you only have to run two commands in the terminal:

$ sudo apt-get install python-setuptools
$ sudo easy_install mozmill

Updating Mozmill

If you have installed Mozmill as extension you will be automatically notified by your application when a new version is available. To update the command line client the following command has to be run (sudo is not necessary on Windows):

$ sudo easy_install -U mozmill

Further Reading

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 - this is the high level introduction to the world of Mozmill testing
  • Introduction to Mozmill - detailed tutorial that walks through introducing each Mozmill API object as it is needed
  • Introduction to Mozmill UI - We tried to write the UI so that it needs no intro, but there are some hidden gems in there that we want to showcase like record/replay and shell debugging for your tests
  • Guide to Mozmill's Shared Modules - guide to the helper classes that have been developed to make test writing even easier

Reference Desk

Application Specific Resources

Bugs

Mozmill is still in development, like most test systems in the Mozilla project.  If you think you've found a bug, please include details of the behavior you have found, and a your mozmill test case in a bug in bugzilla.mozilla.org.  Mozmill bugs should be filed under the "Testing" Product, "Mozmill" Component.  Thanks for filing!

Revision Source

<p>MozMill is a test tool and framework for writing automated tests for Gecko based applications (Firefox, Thunderbird, Songbird, etc). It is built as an <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/9018" title="https://addons.mozilla.org/en-US/firefox/addon/9018">extension</a> which includes an <a href="/en/Mozmill_Tests/Introduction_to_the_Mozmill_IDE" title="en/Mozmill Tests/Introduction to the Mozmill IDE"><span>IDE</span></a> (integrated development environment) or as a <a class=" external" href="http://pypi.python.org/pypi?%3Aaction=search&amp;term=mozmill&amp;submit=search" title="http://pypi.python.org/pypi?:action=search&amp;term=mozmill&amp;submit=search">command line client</a> to help you write, run, and debug tests. MozMill has an extensive API to help you write <a href="/en/Mozmill_Tests" title="en/Mozmill Tests">functional tests</a> that simulate user interactions, as well as a full <a class="internal" href="/en/Mozmill_Tests/Mozmill_Unit_Test_Framework" title="en/Mozmill Tests/Mozmill Unit Test Framework">unit test API</a>.</p>
<h2>Installation</h2>
<p>Mozmill can be installed in two different ways. For most use cases, we recommend the <a class=" link-https" href="https://addons.mozilla.org/en-US/firefox/addon/9018" title="https://addons.mozilla.org/en-US/firefox/addon/9018">Mozmill Extension</a>, available on add-ons.mozilla.org.  This comes with an integrated development environment, some test authoring tools, and a graphical interface to run the tests. For more advanced users who are interested in restart tests and operating system interaction we recommend installing the <a class=" external" href="http://pypi.python.org/pypi?%3Aaction=search&amp;term=mozmill&amp;submit=search" title="http://pypi.python.org/pypi?:action=search&amp;term=mozmill&amp;submit=search">command line client</a> using python's standard <a class=" external" href="http://pypi.python.org/pypi/setuptools" title="http://pypi.python.org/pypi/setuptools">setuptools</a> package installer.</p>
<h3>The Extension</h3>
<p>To install the extension simply open the "Get Add-ons" tab of the Add-ons Manager and search for Mozmill. But it can also be installed directly from the <a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/9018" title="https://addons.mozilla.org/en-US/firefox/addon/9018">addons.mozilla.org</a> website. Restart the application to finish the installation process.</p>
<h3>The Command Line Client</h3>
<p>To install the command line version of Mozmill a few more steps are required. They are slightly different for each operating system.</p>
<h4>Windows</h4>
<p>Before Mozmill can be installed the MozmillBuild package has to be installed on your system. Just grab the <a class=" external" href="http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe" title="http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe">latest build</a> and install it manually. Afterward run the following command to install the Mozmill command line client.</p>
<pre><code>$ easy_install mozmill</code> </pre>
<h4>Mac OS X</h4>
<p>If you are running Mac OS X 10.4 you have to download and install at least Python 2.5 from <a class=" external" href="http://python.org/download/">python.org</a> first. Afterward, install Mozmill with the setuptools.</p>
<pre><code>$ curl -O http://peak.telecommunity.com/dist/ez_setup.py</code>
<code>$ sudo python ez_setup.py<br>$ sudo easy_install mozmill</code>
</pre>
<h4>Ubuntu</h4>
<p>To install Mozmill on Ubuntu you only have to run two commands in the terminal:</p>
<pre>$ sudo apt-get install python-setuptools
$ sudo easy_install mozmill</pre>
<h2>Updating Mozmill</h2>
<p>If you have installed Mozmill as extension you will be automatically notified by your application when a new version is available. To update the command line client the following command has to be run (sudo is not necessary on Windows):</p>
<pre>$ sudo easy_install -U mozmill
</pre>
<h2>Further Reading</h2>
<p>We have a few other pages to help you get the most out of Mozmill.  You might want to bookmark these for reference later.</p>
<ul> <li><a href="/en/Mozmill_Tests" title="en/Mozmill Tests">Mozmill Tests</a> - this is the high level introduction to the world of Mozmill testing</li> <li><a href="/en/Mozmill_Tests/Tutorial:_Introduction_to_Mozmill" title="en/Mozmill Tests/Tutorial: Introduction to Mozmill">Introduction to Mozmill</a> - detailed tutorial that walks through introducing each Mozmill API object as it is needed</li> <li><a href="/en/Mozmill_Tests/Introduction_to_the_Mozmill_IDE" title="en/Mozmill Tests/Introduction to the Mozmill IDE">Introduction to Mozmill UI</a> - We tried to write the UI so that it needs no intro, but there are some hidden gems in there that we want to showcase like record/replay and shell debugging for your tests</li> <li><a href="/en/Mozmill_Tests/Shared_Modules" title="en/Mozmill Tests/Shared Modules">Guide to Mozmill's Shared Modules</a> - guide to the helper classes that have been developed to make test writing even easier</li>
</ul>
<h4>Reference Desk</h4>
<ul> <li><a href="/en/Mozmill_Tests/Mozmill_Controller_Object" title="en/Mozmill Tests/Mozmill Controller Object">controller object reference</a></li> <li><a href="/en/Mozmill_Tests/Mozmill_Elements_Library_Object" title="en/Mozmill Tests/Mozmill Elements Library Object">elementslib object reference</a></li> <li><a href="/en/Mozmill_Tests/Mozmill_Base_Object_Interfaces" title="en/Mozmill Tests/Mozmill Base Object Interfaces">mozmill object reference</a></li> <li><a href="/en/Mozmill_Tests/Mozmill_Unit_Test_Framework" title="en/Mozmill Tests/Mozmill Unit Test Framework">unit test API reference</a></li>
</ul>
<h4>Application Specific Resources</h4>
<ul> <li><a class=" external" href="http://quality.mozilla.org/documents-home/code-docs/mozmill-test-creation/" title="http://quality.mozilla.org/documents-home/code-docs/mozmill-test-creation/">Firefox Testing with Mozmill</a></li> <li><a href="/en/Thunderbird/Thunderbird_MozMill_Testing" title="en/Thunderbird/Thunderbird MozMill Testing">Thunderbird Testing with Mozmill</a></li>
</ul>
<h2>Bugs</h2>
<p>Mozmill is still in development, like most test systems in the Mozilla project.  If you think you've found a bug, please include details of the behavior you have found, and a your mozmill test case in a bug in <a class=" link-https" href="Https://bugzilla.mozilla.org" title="https://bugzilla.mozilla.org/">bugzilla.mozilla.org</a>.  Mozmill bugs should be filed under the "Testing" Product, "Mozmill" Component.  Thanks for filing!</p>
Revert to this revision