TestEngineering/Web/Automation
Contents
Automation Homepage
The Web QA Automation team builds automated tests to run against Mozilla websites to make sure they are working as expected. Mozilla's team is excited to see your interest in our browser-based, automated checks. Thanks for stopping by! :)
This page describes our Web QA projects which use browser-based automation as well as everything you need to set up your own environment for running and contributing to our checks. This will get you started running Web QA automated tests. (If you would like to help out with Mozmill automation, be sure to check out the Mozmill wiki page.)
Getting started with Automated Testing
Our automated tests use Selenium and Python. If you are familiar with either of them we can use your help, and helping us is a great way to learn more. The steps to get started with automation include:
Choose a Project
All of our automation efforts are organized based on the sites that are being tested, with each site having its own project. Your first step, therefore, is to choose a project to work on. You can explore our projects to find one that interests you, but if you're just looking for a simple place to start we suggest mcom-tests.
Run Some Tests
Your next step should be to grab a copy of the tests for your chosen project and try to run them. You can find all the details for doing this in our Running Web QA Tests guide.
Write Some Tests
Each project tracks its automation needs using Git issues. Here is a dashboard of all current Web QA Issues listed that are open and ready to take. Assign a Git issue to yourself by leaving a comment on that issue that you want to work on it.
Security Testing
If you are interested in helping with security testing, check out the security testing page on our wiki.
More Information
- If you would like to write some automated checks for us, you will need to be familiar with version control through GitHub, programming in Python and writing automated checks in Selenium. We recognize that volunteering is always a learning opportunity, so here are a few of our favorite resources if you need to refresh what you know or learn something new before contributing:
- As you begin writing checks, please adhere as closely as possible to the Style Guide, so we’re all on the same page, and reviews go more smoothly. Once you’ve written your tests and submitted a GitHub pull request, they will go through our Code Review process.
- File bugs to help us improve the product (Learn how to file bugs here).
- Each project's GitHub repository has a README.md that will you help you set up an environment and get tests running for that particular project.
Our tests use the page object model:
- If you are interested in the pre-POM Python checks we have pages that discuss the libraries and configuration files shared by the checks.
Web QA Projects
We are seeking volunteers to help write checks for the following projects. Each group below contains all the relevant information for that particular project.
- Add-ons
- Homepage: addons.mozilla.org
- Staging: https://addons.allizom.org
- GitHub Repository: https://github.com/mozilla/Addon-Tests
- Bouncer Tests
- Homepage: download.mozilla.org
- Staging: download.allizom.org
- GitHub Repository: https://github.com/mozilla-services/go-bouncer
- Mozillians
- Homepage: mozillians.org
- Staging: mozillians.allizom.org/
- GitHub Repository: https://github.com/mozilla/mozillians-tests
- MozTrap Tests
- Homepage: moztrap.mozilla.org
- Staging: moztrap-dev.allizom.org
- GitHub Repository: https://github.com/mozilla/moztrap-tests
- Mozwebqa Test Templates
- Homepage: http://www.mozilla.org
- GitHub Repository: https://github.com/mozilla/mozwebqa-test-templates
- Snippets Tests
- Homepage: snippets.stage.mozilla.com
- GitHub Repository: https://github.com/mozilla/snippets-tests
- Soccorro
- Homepage: crash-stats.mozilla.org
- GitHub Repository: https://github.com/mozilla/socorro-tests
- SUMO
- Homepage: support.mozilla.org
- Staging: https://support.allizom.org
- GitHub Repository: https://github.com/mozilla/sumo-tests
Documentation
- Add Project to Jenkins
- Jenkins
- Build Notifications
- Repositories
- Git Mirrors
- Virtual Environments
- Credentials
- Style Guide
- Flake8 Pre-Commit Hook
- Code Review Process
- PIP Requirements
- Running Mobile Tests
- Gaia UI Testing
- Web QA Testing Procedures
Useful Resources
Meeting Notes
The Web QA no longer have a regular meeting to discuss automation. You can either attend the Web QA weekly meeting, or the Automation Development meeting. The meeting notes from past meetings are available here.
AMO - (outdated section)
- Libraries for Page Object Model
- Config Files
- Shared Libraries (pre-POM)
- Troubleshooting AMO test runs
- Conventions in AMO Test Cases
All of the above are legacy, and should be used solely as reference - stephend