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)

NoSuchWindowException

This exception is caused because the list of windows that you currently have is not up to date. One of the windows that previously existed no longer exists and you can't switch to it. The first thing to do is to check your code and make sure that you are not closing a window without refreshing the available list of windows using:

driver.getWindowHandles(); 

The other reason you may get this exception is by trying to switch to a window before calling driver.getWindowHandles(). It's not instantly obvious which window handle relates to which window. The best way to track things is to get the handle of the current window before opening up any new windows, using:

String currentWindowHandle = driver.getWindowHandle();

When you then open a new window and get a list of window handles, you can iterate through the list and ignore the handles for currently...