Book Image

Selenium Testing Tools Cookbook Second Edition

By : UNMESH GUNDECHA
5 (1)
Book Image

Selenium Testing Tools Cookbook Second Edition

5 (1)
By: UNMESH GUNDECHA

Overview of this book

This book is an incremental guide that will help you learn and use the advanced features of the Selenium toolset including the WebDriver API in various situations to build a reliable test automation. You start off by setting up the test development environment and gain tips on the advanced locater strategy and the effective use of the Selenium WebDriver API. After that, the use of design patterns such as data - driven tests and PageFactory are demonstrated. You will then be familiarised with extending Selenium WebDriver API by implementing custom tasks and setting up your own distributed environment to run tests in parallel for cross-browser testing. Finally, we give you some tips on integrating Selenium WebDriver with other popular tools and testing mobile applications. By the end of this book, you will have learned enough to solve complex testing issues on your own.
Table of Contents (16 chapters)
15
Index

Identifying and handling a child window


In Selenium WebDriver, testing multiple windows involves identifying a window, switching the driver context to the window, then executing steps on the window, and finally, switching back to the browser.

The Selenium WebDriver allows us to identify a window by its name attribute or window handle, and switching between the window and the browser window is done using the WebDriver.switchTo().window() method of WebDriver.TargetLocator.

In this recipe, we will identify and handle a window by using its name attribute. Developers provide the name attribute for a window that is different from its title. In the following example, a user can open a window by clicking on the Help button. In this case, the developer has provided HelpWindow as its name:

<button id="helpbutton" onClick='window.open("help.html","HelpWindow","width=500,height=500");'>Help</button>

How to do it...

Let's create a test that identifies a window using its name attribute, as shown...