TestEngineering/Web/Automation: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (Remove link to Selenium Grid documentation.)
 
(21 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Automation Homepage  =
= Automation Homepage  =


The Web QA Automation team builds automated tests to run against Mozilla websites to make sure they are working as expected.
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 [http://quality.mozilla.org/teams/automation/ Mozmill wiki page].)
 
== Getting started with Automated Testing ==
 
Our automated tests use [http://seleniumhq.org/ Selenium] and [http://www.python.org/ 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 [https://wiki.mozilla.org/QA/Execution/Web_Testing/Automation#Web_QA_Projects explore our projects] to find one that interests you, but if you're just looking for a simple place to start we suggest [https://github.com/mozilla/mcom-tests/ 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 [https://developer.mozilla.org/en-US/docs/Mozilla/QA/Running_Web_QA_automated_tests Running Web QA Tests guide].
 
=== Write Some Tests ===
Each project tracks its automation needs using Git issues. Here is a dashboard of [http://mozilla.github.io/mozwebqa-dashboard/#/issues 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 [https://wiki.mozilla.org/WebAppSec/Secure_Coding_QA_Checklist 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 [https://github.com/ GitHub], programming in [http://www.python.org/ Python] and writing automated checks in [http://seleniumhq.org/ 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:
 
** [http://www.diveintopython.net/ Python: Dive into Python]
** [http://progit.org/book/ GitHub: ProGit]
** [http://code.google.com/p/selenium/wiki/PageObjects A brief introduction to POM from the Selenium site.]
** [http://seleniumhq.org/docs/ SeleniumHQ Documentation]
** [http://www.developsense.com/blog/2009/08/testing-vs-checking/ The difference between tests and checks]
 
* As you begin writing checks, please adhere as closely as possible to the [https://wiki.mozilla.org/QA/Execution/Web_Testing/Docs/Automation/StyleGuide 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 [https://wiki.mozilla.org/Web_Testing/Automation/CodeReviewProcess Code Review process].
* File bugs to help us improve the product (Learn how to file bugs [https://developer.mozilla.org/en/bug_writing_guidelines 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 [https://wiki.mozilla.org/QA/Execution/Web_Testing/Docs/Automation/Testcases/SharedLibraries the libraries] and [https://wiki.mozilla.org/QA/Execution/Web_Testing/Docs/Automation/Testcases/ConfigFiles 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: [https://addons.mozilla.org addons.mozilla.org]
** Staging: [https://addons.allizom.org https://addons.allizom.org]
** GitHub Repository: [https://github.com/mozilla/Addon-Tests https://github.com/mozilla/Addon-Tests]
 
* Bouncer Tests
** Homepage: [https://download.mozilla.org download.mozilla.org]
** Staging: [https://download.allizom.org download.allizom.org]
** GitHub Repository: [https://github.com/mozilla-services/go-bouncer https://github.com/mozilla-services/go-bouncer]
 
* Mozillians
** Homepage: [https://mozillians.org mozillians.org]
** Staging: [https://mozillians.allizom.org/ mozillians.allizom.org/]
** GitHub Repository: https://github.com/mozilla/mozillians-tests
 
* MozTrap Tests
** Homepage: [https://moztrap.mozilla.org moztrap.mozilla.org]
** Staging: [https://moztrap-dev.allizom.org moztrap-dev.allizom.org]
** GitHub Repository: [https://github.com/mozilla/moztrap-tests https://github.com/mozilla/moztrap-tests]
 
* Mozwebqa Test Templates
** Homepage: [http://www.mozilla.org http://www.mozilla.org]
** GitHub Repository: [https://github.com/mozilla/mozwebqa-test-templates https://github.com/mozilla/mozwebqa-test-templates]
 
* Snippets Tests
** Homepage: [https://snippets.stage.mozilla.com/ snippets.stage.mozilla.com]
** GitHub Repository: https://github.com/mozilla/snippets-tests
 
* Soccorro
** Homepage: [https://crash-stats.mozilla.com/home/products/Firefox crash-stats.mozilla.org]
** GitHub Repository: [https://github.com/mozilla/socorro-tests https://github.com/mozilla/socorro-tests]
 
* SUMO
** Homepage: [https://support.mozilla.org/ support.mozilla.org]
** Staging: [https://support.allizom.org https://support.allizom.org]
** GitHub Repository: [https://github.com/mozilla/sumo-tests https://github.com/mozilla/sumo-tests]


== Documentation  ==
== Documentation  ==
* [[QA/Execution/Web_Testing/Automation/Add_Project_to_Jenkins|Add Project to Jenkins]]
* [[QA/Execution/Web_Testing/Automation/Jenkins|Jenkins]]
* [[QA/Execution/Web_Testing/Automation/Jenkins|Jenkins]]
* [[QA/Execution/Web_Testing/Automation/B2G_Nodes|B2G Nodes]]
* [[QA/Execution/Web_Testing/Automation/Build_Notifications|Build Notifications]]
* [[QA/Execution/Web_Testing/Automation/Build_Notifications|Build Notifications]]
* [[QA/Execution/Web_Testing/Automation/Repositories|Repositories]]
* [[QA/Execution/Web_Testing/Automation/Repositories|Repositories]]
* [[QA/Execution/Web_Testing/Automation/Git_Mirrors|Git Mirrors]]
* [[QA/Execution/Web_Testing/Automation/Git_Mirrors|Git Mirrors]]
* [[QA/Execution/Web_Testing/Automation/Selenium_Grid|Selenium Grid]]
* [[QA/Execution/Web_Testing/Automation/Virtual_Environments|Virtual Environments]]
* [[QA/Execution/Web_Testing/Automation/Virtual_Environments|Virtual Environments]]
* [[QA/Execution/Web_Testing/Automation/Credentials|Credentials]]
* [[QA/Execution/Web_Testing/Automation/Credentials|Credentials]]
* [[QA/Execution/Web_Testing/Docs/Automation/StyleGuide|Style Guide]]
* [[QA/Execution/Web_Testing/Docs/Automation/StyleGuide|Style Guide]]
* [[QA/Execution/Web_Testing/Automation/PEP8_Pre_Commit_Hook|PEP8 Pre-Commit Hook]]
* [[QA/Execution/Web_Testing/Automation/Flake8_Pre_Commit_Hook|Flake8 Pre-Commit Hook]]
* [[Web_Testing/Automation/CodeReviewProcess|Code Review Process]]
* [[Web_Testing/Automation/CodeReviewProcess|Code Review Process]]
* [[Web_Testing/Automation/UnittestZero|UnittestZero]]
* [[QA/Execution/Web_Testing/Automation/PIP_Requirements|PIP Requirements]]
* [[QA/Execution/Web_Testing/Automation/Pip_Requirements|Pip Requirements]]
* [[QA/Execution/Web_Testing/Automation/Running_Mobile_Tests|Running Mobile Tests]]
* [[QA/Execution/Web_Testing/Automation/Running_Mobile_Tests|Running Mobile Tests]]
* [[QA/Execution/Web_Testing/Automation/Gaia_UI_Testing|Gaia UI Testing]]
* [[QA/Execution/Web_Testing/Automation/Gaia_UI_Testing|Gaia UI Testing]]
Line 28: Line 102:
== Meeting Notes  ==
== Meeting Notes  ==
The Web QA no longer have a regular meeting to discuss automation. You can either attend the [[QA/Execution/Web_Testing#Meetings|Web QA weekly meeting]], or the [[Auto-tools/Automation_Development/Meetings|Automation Development meeting]]. The meeting notes from past meetings are available [[QA/Execution/Web_Testing/Automation/Archived_Meeting_Notes|here]].
The Web QA no longer have a regular meeting to discuss automation. You can either attend the [[QA/Execution/Web_Testing#Meetings|Web QA weekly meeting]], or the [[Auto-tools/Automation_Development/Meetings|Automation Development meeting]]. The meeting notes from past meetings are available [[QA/Execution/Web_Testing/Automation/Archived_Meeting_Notes|here]].
== Test Days ==
* [[Web Testing/Automation/testday-29-03-2011|Test Day - 29-03-2011]]
* [[Web Testing/Automation/testday-24-05-2011|Test Day - 24-05-2001]]


== AMO - ('''outdated section''') ==
== AMO - ('''outdated section''') ==

Latest revision as of 15:11, 1 November 2016

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:


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.

Documentation

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)

All of the above are legacy, and should be used solely as reference - stephend