Selenium WebDriver With Java
Learn to automate web applications using Selenium WebDriver with Java.
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 slides and pdfs to aid your self study, and projects filled with code to study.
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.
Your Instructor

Alan is the Author of the book Selenium Simplified . He has talked at conferences the world over, and has been involved in testing for almost 20 years.
In November at Eurostar 2012 Alan co-presented (with Simon Stewart) the "Selenium Clinic" tutorial. They won the award for Best Tutorial.
Alan writes on the following blogs and web sites:
- Testing Blog www.eviltester.com
- Selenium Blog www.seleniumsimplified.com
- Conference talks, papers and tools at www.compendiumdev.co.uk
- Java For Testers www.JavaForTesters.com
Course Curriculum
-
StartTip - how to right click in Finder to open folder in a terminal (1:06)
-
StartInstall Java JDK, and Maven on Mac using Homebrew (2:47)
-
StartInstall IntelliJ Community Edition on Mac (2:19)
-
StartDownload the `startUsingSeleniumWebDriver` project and install Firefox and driver (4:46)
-
StartInstall Chrome and ChromeDriver (1:52)
-
StartRun WebDriver Test From The IntelliJ IDE (1:08)
-
StartIntro To Maven (1:49)
-
StartCreate A Project, the easy way, with IntelliJ (7:33)
-
StartHow to add and update version of Selenium WebDriver Dependency (1:46)
-
StartSummary Of Why Maven (1:26)
-
StartMaven Troubleshooting, Tips and FAQs
-
StartMaven Troubleshooting Downloads (7:31)
-
StartMaven Troubleshooting Proxies and Download Cache Issues (4:47)
-
StartJUnit Intro and Example Explained (13:51)
-
StartJUnit 4 vs JUnit 5 (2:03)
-
StartHow is maven getting the dependencies? (3:46)
-
StartRun maven with no 'test' in the class name (3:44)
-
StartMore JUnit Theory (1:47)
-
StartA Quick Look at JUnit's source code (4:12)
-
StartExample use of @Before, @BeforeClass, @After and @AfterClass (10:26)
-
StartJUnit Exercises Introduction (2:07)
-
StartSample JUnit Answers Explained (12:14)
-
StartA little more Hamcrest (5:10)
-
StartNotes on Using JUnit 4.11 with Hamcrest
-
StartIntroduction to Interrogation (1:10)
-
StartDriver level Interrogation exercise (1:20)
-
StartDriver Level Interrogation Exercise - Sample Answers (10:29)
-
StartDOM Element Interrogation Introduction (12:15)
-
StartFirst findElement & By exercise (1:37)
-
StartFirst findElement & By Exercise - Sample Answers (7:29)
-
StartfindElements Introduction (2:13)
-
StartfindElements Exercise (1:18)
-
StartfindElements Exercise - sample answer (5:34)
-
StartChaining findElement and By support classes (9:35)
-
StartManipulation Exercises Introduction (2:27)
-
StartThe Manipulation Exercises List
-
StartManipulation Exercises Sample Answers Introduction (1:38)
-
StartManipulation Exercises - sample answers question one (6:28)
-
StartManipulation Exercises - sample answers question two (2:47)
-
StartManipulation Exercises - sample answers question three (2:22)
-
StartManipulation Exercises - sample answers question four (4:40)
-
StartManipulation Exercises - sample answers question five (8:32)
-
StartManipulation Exercises - sample answers question six (3:52)
-
StartManipulation Exercises - sample answers question seven (3:06)
-
StartManipulation Exercises - Summary and retrospective (4:54)
-
StartUser Interactions Introduction and overview (6:09)
-
StartUser Interactions Demo and code walkthrough (6:36)
-
StartUser Interactions Exercise Introduction (2:20)
-
StartUser Interactions Exercise List
-
StartUser Interactions Exercise Retrospective (5:07)
-
StartMake User Interaction More Reliable By Setting Focus to the page (1:25)
-
StartCustom Expected Condition - slides walkthrough (8:35)
-
StartCustom Expected Condition - ExpectedConditions code walkthrough (4:10)
-
StartCustom Expected Condition - tutorial code walkthrough (10:17)
-
StartWebDriverWait ExpectedCondition Code Walkthrough Explanation (6:59)
-
StartWaiting Exercises slide (1:44)
-
StartWaiting Exercises answers - code walkthrough (4:45)
-
StartJavascript Introduction (5:58)
-
StartJavascript Example with Code Exploration (4:51)
-
StartJavascript on the page to view script and console (3:38)
-
StartJavascript Exercises (2:59)
-
StartJavascript Answers (10:31)
-
StartJavascript Async Theory (2:34)
-
StartJavascript Async Example Explained and Explored (10:18)
-
StartJavascript Async Exercise (1:55)
-
StartJavascript Async Exercise Answer (2:44)
-
StartIntroduction to using different browsers (3:13)
-
StartAdding a Browser Driver to the Path (3:45)
-
StartFirefoxDriver Introduction (10:09)
-
StartChromeDriver Introduction (1:49)
-
StartChromeDriver Overview with example code (5:05)
-
StartOperaDriver
-
StartIEDriver Overview with slides (1:28)
-
StartIEDriver Overview with code examples (1:25)
-
StartIEDriver path configuration Path or Property (2:48)
-
StartMicrosoft Edge WebDriver Introduction (3:09)
-
StartMicrosoft Edge WebDriver Code Introduction (3:44)
-
StartTry Different Browsers (2:27)
-
StartDifferent Browsers Exercises (1:37)
-
StartDriver Manager Approaches Introduction (2:04)
-
StartDriver Manager Selenium 2 Basics (6:44)
-
StartSelenium Test Code WebDriverBuilder (3:31)
-
StartSelenium Simplified Manager (4:55)
-
StartDriver Manager Exercise Introduction (1:07)
-
StartDriver Manager Exercise Answer (17:22)
-
StartDriver Manager Exercise Recap (2:51)
-
StartOverview of Taking Screenshots
-
PreviewOverview of the TakesScreenshot Interface (2:01)
-
StartCreate TakesScreenshot Live Example (11:24)
-
StartTakesScreenshot Example Code Overview (2:53)
-
StartTakesScreenshot Exercises (2:44)
-
StartTakesScreenshot Exercises 1 Capabilities Answers (6:14)
-
StartTakesScreenshot Exercises 2 Type Answers (11:21)
-
StartTakesScreenshot FAQs and extra docs
-
StartPage Objects Introduction (4:09)
-
StartPage Objects Refactoring Heuristics (2:35)
-
StartRefactoring to Page Objects A Live Example (38:35)
-
StartRefactoring to Page Objects the Live Example Summary (5:54)
-
StartRefactoring to Page Objects Exercise (1:21)
-
StartRefactoring to Page Objects Exercise Answers (4:11)
-
StartLoadable Component (9:19)
-
StartSlow Loadable Component (5:02)
-
StartBasics of Page Factory (4:00)
-
StartPage Factory Details (5:43)
-
StartDefect Explanation for the GUI JavaScript option selection (4:16)
-
StartWhat is Continuous Integration (3:22)
-
StartExample of CI - About the wdci git code project (3:11)
-
StartExample of CI - Github code local Jenkins build (2:41)
-
StartExample of CI - Github and Travis-ci (3:53)
-
StartSecret of CI - Working from command line (6:31)
-
StartDownload and Run Jenkins (3:41)
-
StartExample Initial Run and Config of Jenkins (3:10)
-
StartOverview of Installing Git (3:16)
-
StartExercise - create a Jenkins job to run wdci with firefox (1:28)
-
StartExercise Answer - create a Jenkins job to run wdci with firefox (1:59)
-
StartExercise - create a Jenkins job to run wdci with HtmlUnit (0:34)
-
StartExercise Answer - create a Jenkins job to run wdci with HtmlUnit (1:46)
-
StartExercise - create a Jenkins job to run wdci with a Driver (0:49)
-
StartExercise Answer - create a Jenkins job to run wdci with a Driver (3:30)
-
StartExercise - create your own Git repository (2:56)
-
StartJUnit Suites and Profiles (5:18)
-
StartExercise - JUnit Suites and Profiles (1:48)
-
StartJenkins Hints - JENKINS_HOME (2:36)
-
StartSlides for Continuous Integration with Git
-
StartWhy is this section deprecated?
-
StartAbout Appium (2:09)
-
StartHow to Study This Section (0:52)
-
StartInstalling Appium (7:57)
-
StartAppium Live Run (2:25)
-
StartAppium Live Run Changes Made to Driver (3:19)
-
StartResults of Appium Live Run
-
StartInvestigate BasicTestRefactored Test Failure (1:25)
-
StartInvestigate Cookies Test Failure (7:51)
-
StartInvestigate User Interactions Test Failure (2:40)
-
StartInvestigate Data Driven Test Failure (5:22)
-
StartAbout Android Virtual Devices (2:56)
-
StartInstalling and Creating an Android Virtual Device (6:20)
-
StartAppium and AVD (2:25)
-
StartDemonstration Running Appium against Browser (2:44)
-
StartAppium Exercises (1:10)
-
StartAppium Slides and 'transcript'
-
StartChanging Driver for easier GRID usage (2:38)
-
StartImplementing Driver Change for easier GRID usage (3:17)
-
StartMore Generic grid code in Driver (2:00)
-
StartUsing the Driver config from the command line (2:18)
-
StartUsing the Driver config from the IDE (5:01)
-
StartUsing the Driver config from CI (1:40)
-
StartBrowserStack requires Driver changes (1:54)
-
StartDriver changes to support BrowserStack (2:31)
-
StartIntelliJ Driver config for BrowserStack, SauceLabs and TestingBot (2:34)
-
StartBasic setup of a Mac as a grid node (5:16)
-
StartDemonstration of ChromeDriver on mac and IE by default (3:39)
-
StartUsing node.json to Configure a Mac grid node (5:07)
-
StartAdded the grid config source files into the code.zip and repo (0:29)