O'Reilly logo

Mastering Selenium WebDriver 3.0 by Mark Collin

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Fluent page objects

We are going to have a look at how we can turn our existing page objects into fluent page objects to enhance the readability and discoverability of our code. To do that, we are going to design DSL for our page objects that uses chains of commands to describe the action(s) that are being performed. Each chained command will return either a reference to itself, a reference to a new method, or a void. 

The LoginPage object that we created earlier in this chapter will provide a good base for a fluent page object. It currently looks like this:

package com.masteringselenium.query_page_objects;import com.lazerycode.selenium.util.Query;import com.masteringselenium.fluent_page_objects.BasePage;import org.openqa.selenium.By;public ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required