Choose your language:

Hong Kong
New Zealand
United Kingdom
United States

Automated Testing with Selenium WebDriver – Advanced

Course Code



3 Days

Students should have a background in:

  • Developing Java applications in an IDE like Eclipse
  • Web technologies
  • Testing concepts
  • Knowledge of HTML DOM and Object Oriented Development is helpful
Class modules include hands-on labs where student will apply the concepts just learned to developing Selenium automated Java tests. Students will work with a complex Web Application that requires a number of testing scenarios.
This course is designed for experienced Java developers working as Web Developers, Test Engineers or other IT Personnel who want to learn how to use Selenium to automate Web Application tests.

In this course, participants will learn:

  • The major building blocks of the Selenium tool suite
  • How to use the Selenium WebDriver to write web application automated test scrips as Java code.
  • How to use the Selenium IDE tool as a prototype productivity tool
  • Selenium test script patterns and best practices for designing maintainable and reusable automated tests scripts
  • Test concepts and Testing frameworks
  • Version considerations and migration between Selenium 1 (RC), Selenium 2 (WebDriver) and Selenium 3
  • Selenium latest features including the WebDriver W3C Specification and the Selenium Roadmap

Introduction to Test Automation
Variations of Test Automation
Test Harness Tools
Benefits of Test Automation
What to test

  • The Testing Pyramid
  • Test Data

Introduction to Selenium
Selenium Suite of Testing Tools
History of Selenium
Selenium Browser Drivers
Version Considerations

  • W3C WebDriver Specification
  • JSON Wire Protocol
  • Selenium Roadmap

Downloading and Installing Selenium

Selenium WebDriver
Introduction to WebDriver
Test script as Java code
The Selenium WebDriver library
The Main WebDriver classes
WebDriver Capabilities
Setting up Selenium WebDriver projects
Using Maven and Gradle build tools

Working with Selenium WebElements
WebElements as Nodes in the DOM
Locating WebElements on the Web Page
Using Selenium IDE as a Prototype Time Saver
Interacting with WebElements

  • Retrieving WebElements
  • Verifying WebElements
  • Submitting a Form

Working with Selenium Clickable WebElements
Working with Clickable WebElements

  • Handling Radio buttons and Check Boxes
  • Working with Select Drop Down Elements

Accessing Links Using Selenium WebDriver
Exact and Partial Link Text Match

Accessing Tables Using Selenium WebDriver
HTML Tables Structure
Advanced Strategies for Locating WebElements
Walking a Table with Selenium

Selenium Patterns and Testing Frameworks
Testing Frameworks

  • Modular
  • Data Driven
  • Keyword-Driven
  • Hybrid

Introduction to POM (Page Object Model)

  • Making Automated Test Scripts Maintainable
  • POM Benefits
  • How to Refactor a Project to POM

The Selenium Page Factory
Introduction to the Page Factory
Page Factory implicit Instantiations
Page Factory Annotations
Lazy Instantiations and Caching

Working with Multiple Windows
Working with alert pop-ups
Switching between multiple windows
Working with iFrames
OS Generated pop-ups

Controlling Test Execution
Waiting on a Web Page Element
Implicit Waits
Explicit Waits
Specifying Expected Conditions
Working with Ajax Controls Using WebDriver

  • Overview of Ajax
  • Issues testing Ajax model
  • Pros and Cons of different methods to wait on Ajax

Advanced User Interactions
Introduction to Advanced User Interactions
Keyboard & Mouse Events
Building a Series of Multiple Actions

Advanced Web Application Access
Taking Screenshot Using WebDriver
Working with Colors
HTML5 Considerations
Handling HTML5 Date Time Picker Using Selenium
Working with Non-Text Pressable Keys or Unicode PUA Code points
Menu Selection

Selenium Wisdom
Selenium Guidelines and Recommendations
Selenium Worst Practices to Avoid
Selenium References

Bonus Material (As Time Permits)

Working with Selenium Grid
Introduction to Selenium Grid
Selenium Grid Distributed architecture
Selenium Server
Selenium Grid Console
Running Selenium Grid

Mobile Application Testing
Mobile App Considerations
Selenium and Mobile Apps
Testing with Native Platform Support
Appium Cross Platform Support

Send Us a Message
Choose one