Selenium 2 WebDriver Basics With Java

Learn to automate web applications using Selenium WebDriver with Java.

This course has been updated to cover Selenium 3 WebDriver.

Selenium WebDriver is the web automation tool of the moment. Selenium WebDriver skills are in demand. And when you understand the Selenium WebDriver usage patterns that this course teaches, then you can increase your ability to write effective automation code.

Learn to use this automation test tool the easy way, with an experienced practitioner, who knows how to use it in the real world.
Alan Richardson has been working with Selenium since 2007, and WebDriver since 2010. Over the years he has helped his staff learn Selenium using the methods in this course: discussing the theory, showing examples, hands on work, then critique and code reviews of worked examples.

In this course you will learn real world techniques associated with the Selenium WebDriver API based on experience of using Selenium WebDriver to automate production web sites.

We have taken the material for a 3 days course and created additional hours of video instruction. It should take you at least an additional 6 hours of self learning to do the exercises. (some students have reported the exercises taking longer, it depends on your experience.)

This course focuses on the information you need to get productive with Selenium WebDriver. We don't spend any time on the Selenium IDE, because you won't use that in a production environment. We don't spend any time on padding covering the architecture of Selenium WebDriver because you can find that information on the Web, and you don't need to know it, to get productive.

Throughout the course we emphasise, and demonstrate, self learning strategies so that you don't just learn the Selenium WebDriver API in depth, you also learn how to discover more on your own.

Before you sign up for the course though, make sure you take advantage of the information we provide for free. Make sure to view our free preview videos from this course below.

Read the glowing testimonials written by previous students so you can understand how the course benefited them:

  • "An excellent course"
  • "Everything you ever wanted to know about ... but did not even know the questions"
  • "Excellent coverage and code examples!"
  • "Superb...can't rate this highly enough"
  • "Invaluable course for learning Selenium WebDriver - can't rate high enough!"
In addition to the the lectures, and the exercises, we also have over 200 slides to aid your self study, and 4500 lines of code to study (calculated using MetricsReloaded).

We support you as you work through the course. So if you want additional explanation, or have a question then ask in the comments and we will answer, we even create new videos showing the answers and them to the course.

When you are ready to learn Selenium WebDriver in depth, then sign up and let our online video training help you.

If you have questions we didn't answer in this description then we might have answered them in our FAQs or contact us.

Promo Overview Video
About the Instructor: Alan Richardson
Welcome Message
Aims of this course
Overview Of Selenium
Ask A Question
About the tools
FAQ: What Versions Should I InstallĀ 
Homebrew and Chocolatey Overview
startUsingJavaJunit GitHub Project Overview
Windows Install Java, Maven and IntelliJ using Chocolatey
Mac Install Java, Maven and IntelliJ using Homebrew
Overview of Driver Installs
Overview of startUsingSeleniumWebDriver Github Project
Install ChromeDriver using Chocolatey
Install GeckoDriver using Chocolatey
Open startUsingSeleniumWebDriver project in IntelliJ and run the tests (Windows)
Install ChromeDriver using Homebrew
Install GeckoDriver using Homebrew
SafariDriver is already installed on Mac
Open startUsingSeleniumWebDriver project in IntelliJ and run the tests (Mac)
Install Java JDK, Maven and IntelliJ
Install IntelliJ
Download the `startUsingSeleniumWebDriver` project
Install Firefox and Marionette GeckoDriver
Install Chrome and ChromeDriver
Run WebDriver Test From The IntelliJ IDE
Tip - how to right click in Finder to open folder in a terminal
Install Java JDK, and Maven on Mac using Homebrew
Install IntelliJ Community Edition on Mac
Download the `startUsingSeleniumWebDriver` project and install Firefox and driver
Install Chrome and ChromeDriver
Run WebDriver Test From The IntelliJ IDE
Current Status of the course and Selenium 3
How to upgrade to Selenium 3 (only for pre version 3 students)
Source Code for Examples - updated 20180611
Course Slides - download these
Selenium Webdriver Java API Summary Cheatsheets
How to Fix Java Language Level Errors
Intro To Maven
Create A Project, the easy way, with IntelliJ
How to add and update version of Selenium WebDriver Dependency
Summary Of Why Maven
Maven Troubleshooting, Tips and FAQs
Maven Troubleshooting Downloads
Maven Troubleshooting Proxies and Download Cache Issues
Manage IntelliJ Project Folder Files
Import pom.xml into IntelliJ 15 using the Import Wizard
Import pom.xml into IntelliJ 15 using the Open Wizard
Add HtmlUnitDriver to pom.xml
My First WebDriver Test
My First Test Explored
Exercise My First Test
Use a real browser - firefox decisions
Use a real browser - Firefox v 46 and above - slides
Use a real browser - Firefox v 46 and above - IDE
Use A Real Browser - Firefox v 45 and below
Basic Knowledge Intro and Exercise
Basic Knowledge Answered
JUnit Intro and Example Explained
How is maven getting the dependencies?
Run maven with no 'test' in the class name
More JUnit Theory
A Quick Look at JUnit's source code
Example use of @Before, @BeforeClass, @After and @AfterClass
JUnit Exercises Introduction
Sample JUnit Answers Explained
A little more Hamcrest
Notes on Using JUnit 4.11 with Hamcrest
Navigation Introduction - the basic navigation commands
Explain the Driver class
Navigation Exercises
Navigation Exercises Explained - Sample Answers
Navigation Discussion
IntelliJ project pane tips
IntelliJ navigation find shortcut keys
Finding Elements in Google Chrome Dev Tools
This is a legacy video - Dot not install Firefox Plugins
Introduction to Interrogation
Driver level Interrogation exercise
Driver Level Interrogation Exercise - Sample Answers
DOM Element Interrogation Introduction
First findElement & By exercise
First findElement & By Exercise - Sample Answers
findElements Introduction
findElements Exercise
findElements Exercise - sample answer
Chaining findElement and By support classes
CSS Selectors
CSS Selectors Exercise
CSS Selectors Exercise - sample answers
CSS Selectors - Paths
CSS Selector References
XPath Introduction
XPath Exercise
XPath Exercise - Sample Answers
Xpath CSS Rosetta Stone Reference
Manipulation Introduction
How to be overconfident really quickly
WebDriver Wait Introduction
Manipulation Exercises Introduction
The Manipulation Exercises List
Manipulation Exercises Sample Answers Introduction
Manipulation Exercises - sample answers question one
Manipulation Exercises - sample answers question two
Manipulation Exercises - sample answers question three
Manipulation Exercises - sample answers question four
Manipulation Exercises - sample answers question five
Manipulation Exercises - sample answers question six
Manipulation Exercises - sample answers question seven
Manipulation Exercises - Summary and retrospective
Demo of experimenting with API using IntelliJ Evaluate Functionality
Overview of Select Support Class and Exercise
Select Support Class Sample Answer
User Interactions Introduction and overview
User Interactions Demo and code walkthrough
User Interactions Exercise Introduction
User Interactions Exercise List
User Interactions Exercise Retrospective
Make User Interaction More Reliable By Setting Focus to the page
Alert Overview
Alert Exercises Introduction
Alert Exercises List
Alert Exercises Retrospective
Frames Introduction
Frames Discussed
Frames Exercises Introduction
Frames Exercises Sample Answers & FAQ
Frames Exercises Refactored
Windows Introduction
Windows Exercise
Window Example Code For Exercise
Window Example Code For Exercise pdf
Windows Exercise Answers
Manage Window Introduction
Manage Window Example Test
Manage Window Exercise
Manage Window Exercise Answer
Bounce window example Just For Laughs
Synchronisation Strategies Overview
Exercise: feel the pain
Exercise: feel the pain answer
WebDriverWait to Save The Day
Exercise: Fix the failing test
Exercise: ExpectedConditions Answers Code Walkthrough
Custom Expected Condition - slides walkthrough
Custom Expected Condition - ExpectedConditions code walkthrough
Custom Expected Condition - tutorial code walkthrough
WebDriverWait ExpectedCondition Code Walkthrough Explanation
Waiting Exercises slide
Waiting Exercises answers - code walkthrough
Using WebDriverWait Fluently overview
Using WebDriverWait Fluently code
FluentWait Introduction slides
FluentWait code based overview
FluentWait exercise
FluentWait exercise Answers
Implicit vs Explicit Wait slides overview
Implicit vs Explicit Wait code overview
Refactoring WebDriverWait
Refactoring WebDriverWait Code
Cookies Introduction
Cookies Overview
Cookies Builder
Cookies Warning
Cookies Exercise Overview
Cookies Exercise Answers
Javascript Introduction
Javascript Example with Code Exploration
Javascript on the page to view script and console
Javascript Exercises
Javascript Answers
Javascript Async Theory
Javascript Async Example Explained and Explored
Javascript Async Exercise
Javascript Async Exercise Answer
Introduction to using different browsers
Adding a Browser Driver to the Path
FirefoxDriver vs MarionetteDriver
MarionetteDriver Introduction
FirefoxDriver Introduction
FirefoxDriver Examples using code
Using PortableFirefox on Windows with FirefoxDriver Example using code
ChromeDriver Introduction
ChromeDriver Overview with example code
OperaDriver Deprecated
IEDriver Overview with slides
IEDriver Overview with code examples
IEDriver path configuration Path or Property
Microsoft Edge WebDriver Introduction
Microsoft Edge WebDriver Code Introduction
Try Different Browsers
Different Browsers Exercises
GhostDriver a quick introduction
Remote WebDriver Overview
A Saucelabs Introduction
Remote WebDriver tests using Saucelabs
Selenium Grid Overview
Selenium Grid Scripts
Driver Manager Approaches Introduction
Driver Manager Selenium 2 Basics
Selenium Test Code WebDriverBuilder
Selenium Simplified Manager
Driver Manager Exercise Introduction
Driver Manager Exercise Answer
Driver Manager Exercise Recap
Overview of the TakesScreenshot Interface
Create TakesScreenshot Live Example
TakesScreenshot Exercises
TakesScreenshot Exercises 1 Capabilities Answers
TakesScreenshot Exercises 2 Type Answers
Page Objects Introduction
Page Objects Refactoring Heuristics
Refactoring to Page Objects A Live Example
Refactoring to Page Objects the Live Example Summary
Refactoring to Page Objects Exercise
Refactoring to Page Objects Exercise Answers
Loadable Component
Slow Loadable Component
Basics of Page Factory
Page Factory Details
About Appium
How to Study This Section
Installing Appium
Appium Live Run
Appium Live Run Changes Made to Driver
Results of Appium Live Run
Investigate BasicTestRefactored Test Failure
Investigate Cookies Test Failure
Investigate User Interactions Test Failure
Investigate Data Driven Test Failure
About Android Virtual Devices
Installing and Creating an Android Virtual Device
Appium and AVD
Demonstration Running Appium against Browser
Appium Exercises
Appium Slides and 'transcript'
What is Continuous Integration
Example of CI - About the wdci git code project
Example of CI - Github code local Jenkins build
Example of CI - Github and Travis-ci
Download and Run Jenkins
Example Initial Run and Config of Jenkins
Overview of Installing Git
Exercise - create a Jenkins job to run wdci with firefox
Exercise Answer - create a Jenkins job to run wdci with firefox
Exercise - create a Jenkins job to run wdci with HtmlUnit
Exercise Answer - create a Jenkins job to run wdci with HtmlUnit
Exercise - create a Jenkins job to run wdci with a Driver
Exercise Answer - create a Jenkins job to run wdci with a Driver
Exercise - create your own Git repository
JUnit Suites and Profiles
Exercise - JUnit Suites and Profiles
Slides for Continuous Integration with Git
Jenkins Hints - JENKINS_HOME
Introduction to Cross Browser CI Lessons Learned
Changes made to tests for Firefox in CI
Changes made to tests for Chrome in CI
Changes made to tests for Opera in CI
Changes made to tests for IE in CI
Driver changes to support multiple browsers under CI
Create the maven profiles for the browsers
Introduction to CI In Practice
Jenkins Jobs
My Continuous Integration setup explained
Explaining and examining intermittency
Changing Driver for easier GRID usage
Implementing Driver Change for easier GRID usage
More Generic grid code in Driver
Using the Driver config from CI
Using the Driver config from the command line
Using the Driver config from the IDE
BrowserStack requires Driver changes
Driver changes to support BrowserStack
IntelliJ Driver config for BrowserStack, SauceLabs and TestingBot
Basic setup of a Mac as a grid node
Demonstration of ChromeDriver on mac and IE by default
Using node.json to Configure a Mac grid node
Added the grid config source files into the and repo
Data Driven Testing Overview
Data Driven Testing In Action
Data Driven Testing with and Object Array
Data Driven Testing with a CSV File
IsLoaded Helper Class Approach
Some Fluent Page Object Tips
Import pom.xml into IntelliJ 13 using the Open Wizard
End Notes
Personal End of Course Message
Where Next?
Introduction to create a project the hard way
Create A Project, the hard way, with Maven command line
Update Junit
Amend Generated Junit
Add Selenium As A Dependency
Install Java JDK
Install Maven
Install Firefox
Before you run "My First Test"
Run My First Test from command line
Run My First Test from Command line with Firefox 48+
Install IntelliJ
Run My First Test From IntelliJ
About the deprecated videos
Android Basics
Logistics for tool installs
getTitle does not exist - recreate it
getTitle challenge sample answers
OperaDriver Introduction
OperaDriver overview with Example Code for Capabilities and Profile
About the deprecated install videos
Install Firefox Browser
Optionally Install Console 2
Install Java SDK
Install Maven 2014 Edition - no extra tools
Install Maven 2013 Edition - using Rapid Environment Editor
Optionally Install Rapid Environment Editor
Install and Create new Project Using IntelliJ 13
Import pom.xml Into IntelliJ 11 using the Import Wizard
Import Course Source Code Using Intellij 13
Import pom.xml into IntelliJ 13 using the Import Wizard
Import source code into IntelliJ 12
Install IntelliJ 12 - (Old version)
Introduction to Deprecated CI Lectures
Slides for Deprecated Continuous Integration
Source code is also available in an SVN repository
Install an SVN client
How to get access to the svn repository
Checkout the svn project
Svn Update and Svn Export
Create an IntelliJ Project
Continuous Integration Section Introduction
What is Jenkins and Continuous Integration
Install the Jenkins Native Distro for Windows
Jenkins Runs as a service
How to run Jenkins from command line
Update Jenkins automatically
Configure Jenkins Global Settings
Getting the tests running from command line with JUnit Suites and Maven Profiles
JUnit suites overview
Exercise Create JUnit Suites
Get Setup on the Mac - maven
How to make the Maven exports Persist on a Mac

What's included

  • 319 Video Lessons
  • 24 Text Lessons

  • Works on all devices
  • Certificate of completion

Alan Richardson