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)

Basic Selenium Commands and Their Usage in Building a Framework

In the last chapter, we learned what the Document Object Model (DOM) and DOM traversal are and how they can be done using XPath and CSS. We also saw the various static methods, such as tagName(), and explored the size() method to verify the number of web elements fetched by findElements. Moreover, we saw how to find web elements within container elements and the various tools available for DOM traversal.

In this chapter, we will be covering the following topics:

  • Understanding method signatures
  • findElement and findElements with the concept of List
  • Various methods that can be used for browser navigation
  • Methods that can be used on a web element that has been found using findElement or findElements
  • Creating reusable methods for textboxes, radio buttons, checkboxes, and drop-downs, among others
  • Extracting elements dynamically...