Selenium Workshop:
Selenium Saturday

The purpose of this workshop is to teach you the basic skills needed to write your own automation test. We’re going to learn about Webdriver, CSS locators, Test runners and then we’re going to write webdriver tests.


Agenda

Part 1: Getting started with WebDriver and Web testing This article covers installing the tools you need to get started with running tests, such as WebDriver, Python/Java and Py.Test/JUnit library.

Part 2: Basic interactions with the browser using WebDriver An overview of the basic commands you will use to manipulate a Web Page via WebDriver.

Part 3: Upgrading our code into a reusable test Moving on, we will assemble some basic commands into a simple test inside a Python file/Java class so they can all be run as a single entity.

Part 4: Re-using commands Here we look at moving some of the commands into Python/Java methods to promote code reuse.

Part 5: Introducing a test runner A test runner is a central feature of any good test suite, allowing you to run multiple tests and report and aggregate results. In this article we will explore the basics of Python’s unit test runner. For Java, we will be looking into how a Test Suite can be created.

Part 6: Using tuples, and WebDriver’s By class This time around we explain how to further reduce duplication of code, by storing repeated locators in tuples and simplifying the syntax with WebDriver’s By class.

Part 7: Writing your own tests Now the basics are behind you, and it is time to start to writing your own tests! Here we give you some tool recommendations to make the work easier, and suggest some tests to try your hand at writing.

Part 8: Using a base class In its current state, our test file contains all the test runner code. This is ok for now, but as soon as you start to run many test files it will mean a lot of duplication. Here we solve this problem by abstracting the test runner code into a separate Python/Java class.

Part 9: Reducing duplication with app objects


Participants

We are expecting participants that:
– are enthusiastic and willing to learn to create automated tests with Webdriver and Python/Java
– have programming knowledge (at least basic level)
– have knowledge about testing principles and Web Technologies
– have basic knowledge about HTML and CSS
– have a working laptop and they can bring it there

Workshop Requirments

During the 4 hours we want to focus on test automation and not on setting up the environment, please make sure that
you have all the setup described below installed and configured on your laptop.

Python:
- version 2.7: http://www.python.org/getit/
- Setup_tools: https://pypi.python.org/pypi/setuptools
- Firefox latest version: http://www.mozilla.org/en-US/firefox/new/

You can find setup instructions for each OS in the links above. For Windows users make sure you add the Python path to Environment Variables.
https://docs.python.org/2.7/using/windows.html#configuring-python If you have any questions about the environment setup please contact me at: bebe@mozilla.ro

Java:
- JDK - Java Development Kit and Maven (Step-by-step install instructions on: http://www.tutorialspoint.com/maven/maven_quick_guide.htm)
– IntelliJ Community Edition OR Eclipse EE IDE (preferably INTELLIJ)
- Maven Dependencies for Selenium (http://www.seleniumhq.org/download/maven.jsp) and JUnit(https://github.com/junit-team/junit/wiki/Download-and-Install) which we will add at the beginning of the workshop.
Contact me at vuscan_razvan@yahoo.com

Speakers

Mark Collin has now been tinkering with Selenium for over 7 years whilst working for various companies as a test consultant. He is the maintainer of the driver-binary-downloader-maven-plugin which enables mavenised selenium projects to download the external web driver binaries required to run tests. He is also a core contributor to the jmeter-maven-plugin, a tool that enables to run your JMeter tests as part of a maven project. Mark is currently working on a book that will teach people how to start mastering selenium.

Razvan Vuscan is a quality-oriented software tester proficient in thinking outside the box and from the client’s or the user’s perspective. He has 4 years of testing experience a. Currently working on projects for big names in the hotel industry, he is constantly looking for new ways of improving his code. He takes great care to write thorough, atomized tests, and has lately been trying to create a testing framework template based on Selenium and Java that can be re-used across web projects. He's also started looking into Gatling for performance testing, however that's another story for another time :).

Florin Strugariu is a QA engineer and Selenium test developer on a number of different projects. He worked as a maintainer of several test suites for Mozilla's web pages and Firefox OS automation projects. He is a contributor to Mozilla and several Python plugins used in to develop automated test's.

Alex Lakatos is a geek building and testing on the open web, trying to push it’s boundaries every day for the past 4 years. You can check out his github profile or get in touch on twitter. When he’s not programming, he likes to travel the world, so it’s likely you’ll bump into him in an airport lounge.

Timeline

10:30 - 11:00: Arrival. Put on a nametag!
11:00 - 12:00: Mark Collin - presentation
12:00 - 17:00: Workshop (there will be a one-hour lunch break)