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
About the Author
Boni Garcia is a Visiting Professor at Universidad Carlos III de Madrid (UC3M) in Spain. He is passionate about software engineering with a big emphasis on automated testing. He is the author of more than 40 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, 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, focused on automated web navigation and testing, in 2011. The reference implementation of this work used 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 the fundamental framework to assess WebRTC applications and Quality of Experience (QoE). Currently, he continues working actively with Selenium. His latest publications focus on the Selenium ecosystem and automated driver management in Selenium WebDriver.