Auto-tools/Automation Development: Difference between revisions
| Line 1: | Line 1: | ||
== Who are We? == | == 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 [http://quality.mozilla.org/teams/automation/ quality.mozilla.org]. | |||
{| class="fullwidth-table" | {| class="fullwidth-table" | ||
Revision as of 15:35, 11 October 2011
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 | Germany | whimboo | |
| Dave Hunt | United Kingdom | davehunt | |
| Rob Wood | Canada | rwood | |
| Andreea Matei | Romania | AndreeaMatei | |
| Andrei Eftimie | Romania | andrei_eftimie |
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.
