Auto-tools/Automation Development

Who are We?

The Automation Services team is responsible for helping the QA teams on specific products excel at what they are doing using a number of tools. This page will give you information about our current projects and activities. Our team home page you can find on quality.mozilla.org.

Framework Description
Mozmill A Framework for automating Gecko based applications from Firefox to Thunderbird.
Selenium A web browser automation framework controlling the content render-able part of the browser.
Other This could be anything from JMeter to automating native apps on mobile devices.

Meetings / Events

We have a public team project meetings each second week. If you want to join the meetings, please check the meetings page for details.

Any event, members of our group will participating in, can also be seen in our team calendar on Google. Subscribe yourself to the calendar if you want to stay up-to-date with our activities.

Team

The automation development team is a group of passionate and open minded people working on automation. We are spread around the world, but we have one collective goal to empower automation even more in the Mozilla project. If you want to get in contact with one of us please check the table below for more information.

Photo Name Location IRC
Henrik Skupin

hskupin@mozilla.com

Germany whimboo

#automation #mozmill #qa

Dave Hunt

dhunt@mozilla.com

United Kingdom davehunt

#ateam #automation #mozmill #qa #mozwebqa

Rob Wood

rwood@mozilla.com

Canada rwood

#automation #ateam

Andreea Matei

andreea.matei@softvision.ro

Romania AndreeaMatei

#automation #ateam #mozmill #mozwebqa #qa

Andrei Eftimie

andrei.eftimie@softvision.ro

Romania andrei_eftimie

#automation #ateam #mozmill #firefox #qa


Projects

Some of our projects can be accomplished in a short time while others will take longer, even several months. The prioritized projects reflect the most important projects in the current quarter and include the appropriate tasks which have to be fulfilled during that time. Other active projects have lower priority.

If you are interested in already finished projects, check our projects archive. We also have a some projects that we would like to do in the future!

Firefox UI Tests

Project Technologies Description
Firefox UI Tests Python, Javascript
Dashboard Javascript, HTML, CSS, AJAX, CouchDB Dashboard to visualize Mozmill test results from the automated test-runs and the Mozmill Crowd extension
Shared Modules Javascript Building and enhancing the API and shared modules for our Mozmill tests for Firefox

Other Projects

Project Technologies Description
Automation Training - Provide automation training to larger community through 4 automation training events
Add-ons CSS, Javascript, XML To help any team in the Mozilla project we work on several extensions.
Documentation Wiki Establish the team presence across websites (Wiki, MDN) and improve the documentation to increase collaboration with the test automation community
Infrastructure Puppet Building up and maintaining the infrastructure for automation tasks
Open Web Applications Javascript, Python Implemention of necessary APIs and support the addition of tests to execute automated tests for web apps in Firefox
TPS Javascript, Python Testing and Profiling tool for Sync
MTBF Javascript, Python, Bash Stability testing tool


Automated Test Frameworks

Basically you need to have python 2.6 running, on linux this is fairly simple, on mac it may require some work. The eternal struggle on a mac is upgrading / installing linux based applications (fink, mac ports, have grown up to solve this problem) We like Homebrew, as the installs are non-destructive to the operating system, and localized to specific users. Without further a do, here are some instructions to get python 2.6 running.

Mac:

 Install Brew - Brew
Update Python 2.6 Formula 
brew create git://gist.github.com/743034
name it python26
brew install python26
(Do not run brew install python, as it will install python 2.7.1)

Linux:

 Install Pip with the following command sudo easy_install pip
sudo pip install mercurial
sudo pip install virtualenvwrapper
update your ~/.bash_profile
export WORKON_HOME=$HOME/.virtualenvs
export PIP_VIRTUALENV_BASE=$WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh

To create a new virtualenv you would do mkvirtualenv projecta –no-site-packages. “projecta” would be the name of the project you are using

   workon projecta
  install libraries needed in the relevant virtualenv so that you don’t pollute your environment. 
  If something goes wrong you can delete the virtualenv without breaking your machine

Selenium

To install Selenium it is a simple case of pip install selenium when in your virtual environment, that you created above

Mozmill (Firefox) Test Framework

About Mozmill

Mozmill is a Software Automation Test Framework that has been designed to test the Firefox Browser. The test suites are written in a domain independent language (javascript), which then uses python in the backend to communicate with a local socket in the browser. There are several pieces required to run Mozmill tests. The simplest / easiest way to get up and writing / running mozmill tests is to install mozmill crowd. This extension allows you to run mozmill tests, and get familiar with writing test cases. After this initial you will be looking for something more complex, try installing Mozmill, and the corresponding test suite so you can run tests from the command line. *If you are able to get this up and running, Congratulations.. this is how tests are run in our continuous integration environment*

How to Install

Install Mozmill Crowd and get familiar with running automated tests Mozmill Crowd

The basic install process is well documented on : Mozilla Developer

Install the Mozmill Tests Get the tests out of the repository - Mozmill Tests

New Members

All new members to the team can find all the details about getting setup. Details on what accounts, what mailing lists, etc can be found on the Here.