{"id":254,"date":"2014-09-02T21:08:31","date_gmt":"2014-09-02T21:08:31","guid":{"rendered":"http:\/\/blog.mozilla.org\/webqa\/?p=254"},"modified":"2014-09-02T21:08:31","modified_gmt":"2014-09-02T21:08:31","slug":"web-qa-automation","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/fxtesteng\/2014\/09\/02\/web-qa-automation\/","title":{"rendered":"Web QA Automation"},"content":{"rendered":"<p style=\"color: #333333\">Mozilla\u2019s\u00a0team is excited to see your interest in our browser-based, automated checks.\u00a0 Thanks for stopping by! \ud83d\ude42<\/p>\n<p style=\"color: #333333\">This page describes our\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/wiki.mozilla.org\/QA\/Execution\/Web_Testing\">Web QA<\/a>\u00a0projects 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\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/quality.mozilla.org\/docs\/webqa\/running-webqa-automated-tests\/\">running Web QA automated tests<\/a>. (If you would like to help out with Mozmill automation, be sure to check out the\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"http:\/\/quality.mozilla.org\/teams\/automation\/\">Mozmill wiki page<\/a>.)<\/p>\n<h2 style=\"color: #2a7e00\">Automated Testing<\/h2>\n<p style=\"color: #333333\">Our automated tests use\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"http:\/\/seleniumhq.org\/\">Selenium<\/a>\u00a0and\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"http:\/\/www.python.org\/\">Python<\/a>. 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:<\/p>\n<ol style=\"color: #333333\">\n<li><a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/quality.mozilla.org\/docs\/webqa\/automation\/#Choose\">Choose a Project<\/a><\/li>\n<li><a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/quality.mozilla.org\/docs\/webqa\/automation\/#Run\">Run Some Tests<\/a><\/li>\n<li><a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/quality.mozilla.org\/docs\/webqa\/automation\/#Write\">Write Some Tests<\/a><\/li>\n<\/ol>\n<h3 style=\"color: #2a7e00\"><a name=\"Choose\"><\/a>Choose a Project<\/h3>\n<p style=\"color: #333333\">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\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/quality.mozilla.org\/docs\/webqa\/projects\/\">projects<\/a>\u00a0to find one that interests you, but if you\u2019re just looking for a simple place to start we suggest\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/mcom-tests\/\">mcom-tests<\/a>.<\/p>\n<h3 style=\"color: #2a7e00\"><a name=\"Run\"><\/a>Run Some Tests<\/h3>\n<p style=\"color: #333333\">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\u00a0<a style=\"font-weight: bold;color: #e3720e\" title=\"Running Web QA automated tests\" href=\"https:\/\/quality.mozilla.org\/docs\/webqa\/running-webqa-automated-tests\/\">Running Web QA Tests<\/a>\u00a0guide.<\/p>\n<h3 style=\"color: #2a7e00\"><a name=\"Write\"><\/a>Write Some Tests<\/h3>\n<p style=\"color: #333333\">Each project tracks it\u2019s automation needs using Git issues. Here is a dashboard of all\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"http:\/\/mozilla.github.io\/mozwebqa-dashboard\/#\/issues\">current Web QA Issues<\/a>\u00a0listed that are open and ready to take.\u00a0 Assign a Git issue to yourself by leaving a comment on that issue that you want to work on it.<\/p>\n<h2 style=\"color: #2a7e00\">Security Testing<\/h2>\n<p style=\"color: #333333\">If you are interested in helping with security testing, check out the\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/wiki.mozilla.org\/WebAppSec\/Secure_Coding_QA_Checklist\">security testing\u00a0<\/a>page on our wiki.<\/p>\n<h3 style=\"color: #2a7e00\">More Information<\/h3>\n<ul style=\"color: #333333\">\n<li>If you would like to write some automated checks for us, you will need to be familiar with version control through\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/\">GitHub<\/a>, programming in\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"http:\/\/www.python.org\/\">Python<\/a>\u00a0and writing automated checks in\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"http:\/\/seleniumhq.org\/\">Selenium<\/a>. 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:\n<ul>\n<li><a style=\"font-weight: bold;color: #e3720e\" href=\"http:\/\/www.diveintopython.net\/\">Python: Dive into Python<\/a><\/li>\n<li><a style=\"font-weight: bold;color: #e3720e\" href=\"http:\/\/progit.org\/book\/\">GitHub: ProGit<\/a><\/li>\n<li><a style=\"font-weight: bold;color: #e3720e\" href=\"http:\/\/code.google.com\/p\/selenium\/wiki\/PageObjects\">A brief introduction to POM from the Selenium site.<\/a><\/li>\n<li><a style=\"font-weight: bold;color: #e3720e\" href=\"http:\/\/seleniumhq.org\/docs\/\">SeleniumHQ Documentation<\/a><\/li>\n<li><a style=\"font-weight: bold;color: #e3720e\" href=\"http:\/\/www.developsense.com\/blog\/2009\/08\/testing-vs-checking\/\">The difference between tests and checks<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul style=\"color: #333333\">\n<li>As you begin writing checks, please adhere as closely as possible to the\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/wiki.mozilla.org\/QA\/Execution\/Web_Testing\/Docs\/Automation\/StyleGuide\">Style Guide<\/a>, so we\u2019re all on the same page, and reviews go more smoothly. Once you\u2019ve written your tests and submitted a GitHub pull request, they will go through our\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/wiki.mozilla.org\/Web_Testing\/Automation\/CodeReviewProcess\">Code Review process<\/a>.<\/li>\n<\/ul>\n<ul style=\"color: #333333\">\n<li>File bugs to help us improve the product (Learn how to file bugs\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/developer.mozilla.org\/en\/bug_writing_guidelines\">here<\/a>).<\/li>\n<li>Each project\u2019s GitHub repository has a README.md that will you help you set up an environment and get tests running for that particular project.<br \/>\nOur tests use the page object model:<\/li>\n<li>If you are interested in the pre-POM Python checks we have pages that discuss the\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/wiki.mozilla.org\/QA\/Execution\/Web_Testing\/Docs\/Automation\/Testcases\/SharedLibraries\">libraries<\/a>\u00a0and<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/wiki.mozilla.org\/QA\/Execution\/Web_Testing\/Docs\/Automation\/Testcases\/ConfigFiles\">configuration files<\/a>\u00a0shared by the checks.<\/li>\n<\/ul>\n<h2 style=\"color: #2a7e00\"><\/h2>\n<h2 style=\"color: #2a7e00\">Web QA Projects<\/h2>\n<p style=\"color: #333333\">We are seeking volunteers to help write checks for the following projects. Each group below contains all the relevant information for that particular project.<\/p>\n<p style=\"color: #333333\"><strong>AMO<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/\">addons.mozilla.org<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/Addon-Tests\">https:\/\/github.com\/mozilla\/Addon-Tests<\/a><\/p>\n<p style=\"color: #333333\"><strong>SUMO<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/support.mozilla.com\/en-US\/home\">support.mozilla.org<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/sumo-tests\">https:\/\/github.com\/mozilla\/sumo-tests<\/a><\/p>\n<p style=\"color: #333333\"><strong>Bouncer Tests<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/download.mozilla.org\/\">download.mozilla.org<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/bouncer-tests\">https:\/\/github.com\/mozilla\/bouncer-tests<\/a><\/p>\n<p style=\"color: #333333\"><strong>Wiki Tests<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/wiki.allizom.org\/\">wiki.allizom.org<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/wiki-tests\">https:\/\/github.com\/mozilla\/wiki-tests<\/a><\/p>\n<p style=\"color: #333333\"><strong>MozTrap Tests<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/moztrap-dev.allizom.org\/\">moztrap-dev.allizom.org<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/moztrap-tests\">https:\/\/github.com\/mozilla\/moztrap-tests<\/a><\/p>\n<p style=\"color: #333333\"><strong>MCOM Tests<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/www.allizom.org\/\">www.allizom.org<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/mcom-tests\">https:\/\/github.com\/mozilla\/mcom-tests<\/a><\/p>\n<p style=\"color: #333333\"><strong>One and Done\u00a0Tests<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/oneanddone.paas.allizom.org\/en-US\/\">https:\/\/oneanddone.paas.allizom.org\/en-US\/<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/oneanddone-tests\">https:\/\/github.com\/mozilla\/oneanddone-tests<\/a><\/p>\n<p style=\"color: #333333\"><strong>Snippets Tests<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/snippets.stage.mozilla.com\/\">snippets.stage.mozilla.com<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/snippets-tests\">https:\/\/github.com\/mozilla\/snippets-tests<\/a><\/p>\n<p style=\"color: #333333\"><strong>Add-on Builder (Flightdeck)<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/builder.addons.mozilla.org\/\">builder.addons.mozilla.org<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/FlightDeck-selenium\">https:\/\/github.com\/mozilla\/FlightDeck-selenium<\/a><\/p>\n<p style=\"color: #333333\"><strong>Mozilla.org<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"http:\/\/www.mozilla.org\/en-US\/firefox\/fx\/\">http:\/\/www.mozilla.org<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/mcom-tests\">https:\/\/github.com\/mozilla\/mcom-tests<\/a><\/p>\n<p style=\"color: #333333\"><strong>Mozwebqa Test Templates<\/strong>:<br \/>\nHomepage<strong>:\u00a0<a style=\"color: #e3720e\" href=\"http:\/\/www.mozilla.org\/en-US\/firefox\/fx\/\">http:\/\/www.mozilla.org<\/a><br \/>\n<\/strong>GitHub Repository<strong>:\u00a0<a style=\"color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/mozwebqa-test-templates\">https:\/\/github.com\/mozilla\/mozwebqa-test-templates<\/a><\/strong><\/p>\n<p style=\"color: #333333\"><strong>Mozillians<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/mozillians.org\/en-US\/\">mozillians.org<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/mozillians-tests\">https:\/\/github.com\/mozilla\/mozillians-tests<br \/>\n<\/a><br \/>\n<strong>Firefox Affiliates<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/affiliates.mozilla.org\/en-US\/\">affiliates.mozilla.org<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/affiliates-tests\">https:\/\/github.com\/mozilla\/affiliates-tests<\/a><\/p>\n<p style=\"color: #333333\"><strong>Mozilla Developer Network<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/developer.mozilla.org\/en-US\/\">developer.mozilla.org<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/mdn-tests\">https:\/\/github.com\/mozilla\/mdn-tests<\/a><\/p>\n<p style=\"color: #333333\"><strong>Mozilla Crash Stats (Soccorro)<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/crash-stats.mozilla.com\/products\/Firefox\">crash-stats.mozilla.org<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/socorro-tests\">https:\/\/github.com\/mozilla\/socorro-tests<\/a><\/p>\n<p style=\"color: #333333\"><strong>QMO Tests<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/quality.mozilla.org\/\">quality.mozilla.org<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/qmo-tests\">https:\/\/github.com\/mozilla\/qmo-tests<\/a><\/p>\n<p style=\"color: #333333\"><strong>ReMo Tests<\/strong>:<br \/>\nHomepage:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/reps.mozilla.org\/\">reps.mozilla.org<\/a><br \/>\nGitHub Repository:\u00a0<a style=\"font-weight: bold;color: #e3720e\" href=\"https:\/\/github.com\/mozilla\/remo-tests\">https:\/\/github.com\/mozilla\/remo-tests<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mozilla\u2019s\u00a0team is excited to see your interest in our browser-based, automated checks.\u00a0 Thanks for stopping by! \ud83d\ude42 This page describes our\u00a0Web QA\u00a0projects which use browser-based automation as well as everything &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/fxtesteng\/2014\/09\/02\/web-qa-automation\/\">Read more<\/a><\/p>\n","protected":false},"author":1359,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[614],"tags":[25209],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/posts\/254"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/users\/1359"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/comments?post=254"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/posts\/254\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/media?parent=254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/categories?post=254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/tags?post=254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}