Quality Assurance/Meetings/2013-07-18
July 3 | Wikimedia Tech Workshop |
What | Browser test automation with Cucumber and Selenium |
---|---|
How | Online (Google Hangout, YouTube stream, Etherpad) |
When | Thursday, July 18, 2013, 16:00 UTC, 2 hours |
Where | Etherpad: http://etherpad.wikimedia.org/QAworkshop
Video of the workshop: http://www.youtube.com/watch?v=s9GCQL0AW3k |
Facilitators | |
Participants |
|
Cucumber and Page Objects: Writing Great Browser Tests
[edit]- See also Browser Automation Workshops.
This session will take you through every step of writing an automated test for WikiLove, a real feature on Wikipedia, from the requirements to the executable code.
We'll start by crafting a plain English description of a software feature in the form of Given/When/Then statements for Cucumber.
Then we will turn that plain English description of the software feature into an executable test using the Page Object design pattern.
There will be kittens.
Programming knowledge is not required, although programming experience is helpful when we turn to implementing our Cucumber scenarios.
Agenda:
- Discussion: create some Cucumber test scenarios for a particular Wikipedia feature.
- Setup: install Ruby and prerequisites for Cucumber/Page Object tests.
- Tech demo: Cucumber makes it easy to write the test steps.
- Tech demo: create the Page Object for the test.
- Finish: watch the tests run on your local machine, and check the test into the real Wikipedia repository
Setup
[edit]Please setup either a virtual machine or your computer before the workshop. There will be no time for setup during the workshop. For setup instructions please see Browser testing/setup instructions.
Run a test
[edit]In config
directory:
- In
config.yml
file, changeSelenium_user
inmediawiki_username: Selenium_user
to your user name. - Create
secret.yml
file if it does not exist. Add your password to the file, something likemediawiki_password: YOUR_USER_PASSWORD
If everything is set up properly, from a command line in the browsertests
directory, do
$ bundle exec cucumber features/wikilove.feature
and watch our test run in Firefox on your computer. Kittens!
Hack
[edit]- As a group, improve the existing Cucumber scenarios
- As a group, make a new Cucumber Scenario
- Make the new tests run!