Three day course on Selenium 3.0. The first two days are instructor led and the third day provides an opportunity for hands-on learning, putting into practice the learnings from the course.
Selenium allows both developers and testers to automate tests against applications and execute them against multiple browsers. This course aims at providing a solid foundation to the attendee in understanding automated testing using Selenium.
The objectives of this course are not only to teach what the tool is capable of doing, but to focus on the practical steps required to make automation using Selenium work in the real world. The course provides a hands-on walkthrough to allow attendees to understand the steps in making Selenium function in the real world.
The consumer is putting increasing demands on organisations to deliver applications across many devices, browsers and platforms. With Increasing pressure being put on test tool budgets, IT professionals are looking to the open source market for test automation tools.
Although it is beneficial that attendees have a coding background (ideally in Java), this is not essential.
The code examples used during the course are available in the training environment for attendees less experienced in Java to access.
On completion of the course, attendees will understand how to configure Selenium and how to automate tests using the tool.
- Automation Overview
- Core skills taught on the course
- Overview of Selenium IDE and available add-ins
- Recording and replay of a Selenium IDE Test
- Object recognition tools Firebug and Firepath.
- Assertions and Verifications
- Exporting a Selenium IDE Test as Java
Creating Selenium Scripts in Eclipse IDE
- Configuring a new Java project in Eclipse
- Creating a basic automated test and a test suite
- Executing a test and test suite through Eclipse
- Importing a test from Selenium IDE
- Components of Selenium Webdriver in JUnit
- Annotations in WebDriver
- Interacting with the AUT: Object locators
- Actions on WebElements
Data Driving Selenium Tests
Use of data sources (e.g. Excel spreadsheets, CSV files, databases) to provide increased maintainability flexibility.
Debugging and coding
Debugging skills are a critical and often overlooked part of learning how to automate tests. This section teaches basic debuggine within Eclipse IDE, including:
- Setting breakpoints
- Retrieving values on-the-fly
- Stepping through code
- ObservingUsing observations from the Application under Test and data source
- Making deductions
- Building and testing a hypothesis
Page Object Model
The Page Object Model enables reusablee code to provide a maintainable automation framework. Areas covered include:
- Introducing the Page Object Model
- Accessing the page objects in a test script
Object recognition is one of the commonest issues automation testers have to face. A number of techniques and approaches can be used , including:
- Why it is difficult to identify an object.
- Choice of element locator
- Use of multiple locator properties
- Use of Xpath or CSS syntax and patterns
- Use of ordinal identifiers
- Using firepath to write more stable locators
- Descriptive programming for dynamic objects
- How to navigate web iframes
Behaviour Driven Development (BDD) and Cucumber (Bonus lesson)
Companies are increasingly turning towards Agile approaches and BDD in particular. This lesson provides a brief overview of the principals and features of a
BDD framework, including:
- Feature files
- Step definitions
- Runner classes
- Selenium Workshop
A series of hands-on learning exercises including:
- Selenium IDE: Creating a new test
- Eclipse: Importing Selenium test into a new Java project
- Page Objects: Converting the script to use them
- Asserts: For both positive and negative test
- Data driving: simple and complex.
- Reporting: outputting results to a spreadsheet