Auto-tools/Automation Development

From MozillaWiki
Jump to navigation Jump to search

Who are We?

This is the home of the QA Automation Services Team. This team is responsible for helping the QA teams on specific products excel at what they are doing using a number of tools.

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

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

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.jpg
Henrik Skupin

hskupin@mozilla.com

Germany whimboo

#automation #mozmill #qa

DaveHunt.jpeg
Dave Hunt

dhunt@mozilla.com

United Kingdom davehunt

#ateam #automation #mozmill #qa #mozwebqa

Rwood.jpg
Rob Wood

rwood@mozilla.com

Canada rwood

#automation #ateam

Andreea Matei.jpg
Andreea Matei

andreea.matei@softvision.ro

Romania AndreeaMatei

#automation #ateam #mozmill #mozwebqa #qa

Andrei.png
Andrei Eftimie

andrei.eftimie@softvision.ro

Romania andrei_eftimie

#automation #ateam #mozmill #firefox #qa


Projects

To be successful and to offer the best support for other teams, the Automation Services team is working on different projects concurrently. Some of those 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.

Prioritized Projects

Project Frameworks Description
Open Web Applications TBD Implemention of necessary APIs and support the addition of tests to execute automated tests for web apps in Firefox
Documentation None Establish the new team presence across websites (QMO, Wiki, MDC) and improve the documentation to increase collaboration with the test automation community
Infrastructure None Investigation and documentation of the shared test infrastructure and blog Q4 implementation goals on Planet
Selenium TestGrid Selenium Upgrade the test grid to work with the final version of Selenium 2 and add mobile for web testing
EnduranceTests Mozmill Improve coverage of Endurance tests for real world use-case scenarios and add additional metrics to support the memshrink project for Firefox

Other Projects

Project Description

Automated Test Frameworks

Selenium

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

Advanced Install

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

The basic install process is well documented on : Mozilla Developer

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

Team Presence (Documentation)

Infrastructure Investigation

Selenium Grid 2

Endurance 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.