Book Image

Mastering Selenium WebDriver 3.0 - Second Edition

Book Image

Mastering Selenium WebDriver 3.0 - Second Edition

Overview of this book

The second edition of Mastering Selenium 3.0 WebDriver starts by showing you how to build your own Selenium framework with Maven. You'll then look at how you can solve the difficult problems that you will undoubtedly come across as you start using Selenium in an enterprise environment and learn how to produce the right feedback when failing. Next, you’ll explore common exceptions that you will come across as you use Selenium, the root causes of these exceptions, and how to fix them. Along the way, you’ll use Advanced User Interactions APIs, running any JavaScript you need through Selenium; and learn how to quickly spin up a Selenium Grid using Docker containers. In the concluding chapters, you‘ll work through a series of scenarios that demonstrate how to extend Selenium to work with external libraries and applications so that you can be sure you are using the right tool for the job.
Table of Contents (15 chapters)

Creating extensible page objects

So far, we have only looked at examples where a page object has been used to describe a whole page. Unfortunately, in the real-world web pages that we want to automate are usually much larger, and more complicated, than the examples you find in a book. So, how are we going to deal with large complicated pages while keeping our test code well factored and readable? We are going to break things down into manageable chunks.

Let's have another look at our HTML page examples we used earlier in this chapter. We will start with the index page.

If you look carefully, you will see that there are two parts that look particularly generic: the header (the area enclosed in the <nav> tag) and the footer (the area enclosed in the <footer> tag). It is probably fair to expect a header and a footer on every page of the website to share a common...