TestEngineering/Web/Automation: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
m (Remove link to Selenium Grid documentation.)
 
(20 intermediate revisions by 4 users not shown)
Line 10: Line 10:


=== Choose a Project ===
=== 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#Web_QA_Project_List 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].
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
=== 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.
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
=== Write Some Tests ===
Each project tracks it's 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.
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
== Security Testing ==


If you are interested in helping with security testing, check out the security testing page on our wiki.
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
== 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:
* 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:
Python: Dive into Python
 
GitHub: ProGit
** [http://www.diveintopython.net/ Python: Dive into Python]
A brief introduction to POM from the Selenium site.
** [http://progit.org/book/ GitHub: ProGit]
SeleniumHQ Documentation
** [http://code.google.com/p/selenium/wiki/PageObjects A brief introduction to POM from the Selenium site.]
The difference between tests and checks
** [http://seleniumhq.org/docs/ SeleniumHQ Documentation]
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.
** [http://www.developsense.com/blog/2009/08/testing-vs-checking/ The difference between tests and checks]
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.
* 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:
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.
* 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
== 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.
We are seeking volunteers to help write checks for the following projects. Each group below contains all the relevant information for that particular project.


AMO:
* Add-ons
Homepage: addons.mozilla.org
** Homepage: [https://addons.mozilla.org addons.mozilla.org]
GitHub Repository: https://github.com/mozilla/Addon-Tests
** Staging: [https://addons.allizom.org https://addons.allizom.org]
 
** GitHub Repository: [https://github.com/mozilla/Addon-Tests https://github.com/mozilla/Addon-Tests]
SUMO:
Homepage: support.mozilla.org
GitHub Repository: https://github.com/mozilla/sumo-tests
 
Bouncer Tests:
Homepage: download.mozilla.org
GitHub Repository: https://github.com/mozilla/bouncer-tests
 
Wiki Tests:
Homepage: wiki.allizom.org
GitHub Repository: https://github.com/mozilla/wiki-tests
 
MozTrap Tests:
Homepage: moztrap-dev.allizom.org
GitHub Repository: https://github.com/mozilla/moztrap-tests
 
MCOM Tests:
Homepage: www.allizom.org
GitHub Repository: https://github.com/mozilla/mcom-tests
 
One and Done Tests:
Homepage: https://oneanddone.paas.allizom.org/en-US/
GitHub Repository: https://github.com/mozilla/oneanddone-tests
 
Snippets Tests:
Homepage: snippets.stage.mozilla.com
GitHub Repository: https://github.com/mozilla/snippets-tests
 
Add-on Builder (Flightdeck):
Homepage: builder.addons.mozilla.org
GitHub Repository: https://github.com/mozilla/FlightDeck-selenium


Mozilla.org:
* Bouncer Tests
Homepage: http://www.mozilla.org
** Homepage: [https://download.mozilla.org download.mozilla.org]
GitHub Repository: https://github.com/mozilla/mcom-tests
** Staging: [https://download.allizom.org download.allizom.org]
** GitHub Repository: [https://github.com/mozilla-services/go-bouncer https://github.com/mozilla-services/go-bouncer]


Mozwebqa Test Templates:
* Mozillians
Homepage: http://www.mozilla.org
** Homepage: [https://mozillians.org mozillians.org]
GitHub Repository: https://github.com/mozilla/mozwebqa-test-templates
** Staging: [https://mozillians.allizom.org/ mozillians.allizom.org/]
** GitHub Repository: https://github.com/mozilla/mozillians-tests


Mozillians:
* MozTrap Tests
Homepage: mozillians.org
** Homepage: [https://moztrap.mozilla.org moztrap.mozilla.org]
GitHub Repository: https://github.com/mozilla/mozillians-tests
** Staging: [https://moztrap-dev.allizom.org moztrap-dev.allizom.org]
** GitHub Repository: [https://github.com/mozilla/moztrap-tests https://github.com/mozilla/moztrap-tests]


Firefox Affiliates:
* Mozwebqa Test Templates
Homepage: affiliates.mozilla.org
** Homepage: [http://www.mozilla.org http://www.mozilla.org]
GitHub Repository: https://github.com/mozilla/affiliates-tests
** GitHub Repository: [https://github.com/mozilla/mozwebqa-test-templates https://github.com/mozilla/mozwebqa-test-templates]


Mozilla Developer Network:
* Snippets Tests
Homepage: developer.mozilla.org
** Homepage: [https://snippets.stage.mozilla.com/ snippets.stage.mozilla.com]
GitHub Repository: https://github.com/mozilla/mdn-tests
** GitHub Repository: https://github.com/mozilla/snippets-tests
 
Mozilla Crash Stats (Soccorro):
Homepage: crash-stats.mozilla.org
GitHub Repository: https://github.com/mozilla/socorro-tests
 
QMO Tests:
Homepage: quality.mozilla.org
GitHub Repository: https://github.com/mozilla/qmo-tests
 
ReMo Tests:
Homepage: reps.mozilla.org
GitHub Repository: https://github.com/mozilla/remo-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 135: 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