Selenium/Ruby/Browser testing

Rationale
It's tedious to manually test Wikimedia sites within the thousands of browser/operating system combinations that are out there, so we do automated testing to find errors and assure quality.

We use Cucumber because it lets you write tests in plain English; you don't need to know Ruby. Cucumber implements an idea called Acceptance Test Driven Development. The plain English test specifications open a communication channel with non-technical people who wish to contribute to browser test automation.

Timeline
see QA/Roadmap

How to contribute
Contributing to Browser testing may take several forms


 * Contributing directly to the automation. Technical experience is NOT required. Currently this is our foremost need.
 * Running automated browser tests locally
 * Analyzing test results and reporting failures discovered by way of Jenkins
 * Contributing code for tests to be executed in browsers using Cucumber and the page-object gem. gerrit github.

If you are interested in automated browser tests, join the proposed MediaWiki Group Browser testing.

Resources

 * current test results
 * Code: qa/browsertests at Gerrit, wikimedia/qa-browsertests mirror at GitHub
 * Test plan: see the backlog of tests to be automated
 * Community automated browser testing: more theoretical discussion of browser testing approach.

Browser test source code
 * https://gerrit.wikimedia.org/r/#/admin/projects/qa/browsertests
 * mirror: https://github.com/wikimedia/qa-browsertests

Current browser test results (hosted on Cloudbees with access to Sauce Labs test runs)
 * https://wmf.ci.cloudbees.com/

We use given-when-then testing format.

Communications

 * Past status messages