Book Image

Selenium WebDriver Quick Start Guide

By : Pinakin Chaubal
Book Image

Selenium WebDriver Quick Start Guide

By: Pinakin Chaubal

Overview of this book

Selenium WebDriver is a platform-independent API for automating the testing of both browser and mobile applications. It is also a core technology in many other browser automation tools, APIs, and frameworks. This book will guide you through the WebDriver APIs that are used in automation tests. Chapter by chapter, we will construct the building blocks of a page object model framework as you learn about the required Java and Selenium methods and terminology. The book starts with an introduction to the same-origin policy, cross-site scripting dangers, and the Document Object Model (DOM). Moving ahead, we'll learn about XPath, which allows us to select items on a page, and how to design a customized XPath. After that, we will be creating singleton patterns and drivers. Then you will learn about synchronization and handling pop-up windows. You will see how to create a factory for browsers and understand command design patterns applicable to this area. At the end of the book, we tie all this together by creating a framework and implementing multi-browser testing with Selenium Grid.
Table of Contents (10 chapters)


For understanding EventFiringWebDriver, we need to understand the concept of listeners.

Listeners work silently without hampering the flow of the Selenium WebDriver script. Listeners help us find out the result of a particular action before or after the action happens. Take the scenario of clicking on a button. Listeners indicate when the WebDriver instance is about to execute the click of a button. Similarly, listeners also indicates that a button has already been clicked.

To create such a listener, we need to use an interface called WebDriverEventListener, which has to be implemented by a concrete class, which becomes our listener. Let's see the process of creating one.

The following class implements WebDriverEventListener. Only the methods used in this example are mentioned here:

public class EventHandler implements WebDriverEventListener {