Hands-On Selenium Webdriver with Java: A Deep Dive Into the Development of End-To-End Tests
Get started with Selenium WebDriver, the open source library for automating tests to ensure your web application performs as expected. In this practical hands-on book, author Boni Garcia takes Java developers through Selenium's main features for automating web navigation, browser manipulation, web element interaction, and more, with ready-to-be-executed test examples.
You'll start by learning the core features of Selenium (composed of WebDriver, Grid, and IDE) and its ecosystem. Discover why Selenium WebDriver is the de facto library for developing end-to-end tests on your web application. You'll explore ways to use advanced Selenium WebDriver features, including using web browsers in Docker containers or the DevTools protocol. Selenium WebDriver examples in this book are available on GitHub.
With this book, you'll learn how to:
- Set up a Java project containing end-to-end tests that use Selenium WebDriver
- Conduct automated interaction with web applications
- Use strategies for managing browser-specific capabilities and cross-browser testing
- Control remote browsers and use advanced browser infrastructure for Selenium WebDriver tests in the cloud
- Model web pages using object-oriented classes to ease test maintenance and reduce code duplication
Boni Garcia is a Visiting Professor at Universidad Carlos III de Madrid in Spain. He is passionate about software engineering with a big emphasis on automated testing. He is the author of more than 35 publications, including international conferences, journals, book chapters, and the book Mastering Software Testing with JUnit 5. He is the creator and maintainer of different open-source projects related to Selenium WebDriver, including WebDriverManager (a well-known helper library for Selenium WebDriver in Java) and Selenium-Jupiter (a JUnit 5 extension for Selenium WebDriver).He presented his PhD dissertation, entitled Contribution to the automation of software quality control of web applications, in 2011. This work had a strong focus on automated web navigation using Selenium IDE and Remote Control (RC) as foundational tools. He continued researching automated testing from 2013 to 2020, participating in the open-source projects Kurento, OpenVidu, and ElasTest. In this period, he adopted Selenium WebDriver as a fundamental component to assess WebRTC applications and Quality of Experience (QoE). Currently, he continues working actively around Selenium. His latest publications are focused on the Selenium ecosystem and the automated management of drivers (e.g., chromedriver, geckodriver) in Selenium WebDriver.