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)

InvalidElementStateException

This is an exception that you probably won't see that often, but when it does pop up it is not always instantly clear what it means. InvalidElementStateException is thrown when the WebElement that you are trying to interact with is not in a state that would allow you to perform the action that you would like to perform.

Think of a <select> element that gives you a list of countries to select when filling in an address form; this element will allow you to select the country associated with your address.

Now, what if the developers have added some validation that will not let you enter a postcode (or ZIP code) until you have selected a country, so that they can trigger the correct postcode validation routine? In this case, the <input> element where you enter your postcode may be disabled until you have selected your country...