Skip to content


Repository files navigation

Build Status badge-jdk License badge Support badge Twitter Follow

Hands-On Selenium WebDriver with Java

This repository contains a comprehensive collection of examples about Selenium 4 using Java as language binding. These examples are explained in the O'Reilly book Hands-On Selenium WebDriver with Java.

This repo has been implemented as a multi-module project (using Maven and Gradle as build tools) composed of tests based on different frameworks: JUnit 4, JUnit 5 (alone or extended with Selenium-Jupiter), and TestNG.

Practice site

This repo also contains a Practice site, i.e., a representative set of sample web pages used as the system under test (SUT) in the Selenium WebDriver test examples. This site is hosted using GitHub Pages.


This repo uses Git tags to track the evolution of the codebase in time. These tags are the following:

  • 1.0.0: The examples of the first version of the book (released in April 2022) are based on this tag.
  • 1.1.0: Bump to Java 11, due to the incompatibility of TestNG 7.6.0 (released on May 18, 2022) with Java 8.
  • 1.2.0: Remove GitHub token from the workflow setup, not required anymore since WebDriverManager 5.3.0 (released on August 21, 2022).
  • 1.3.0: Bump to Java 17, due to the incompatibility of Spring Boot 3.0.0 (released on Nov 24, 2022) with Java 11.


selenium-webdriver-java (Copyright © 2021-2024) is an open-source project created and maintained by Boni Garcia, licensed under the terms of Apache 2.0 License.