Book Image

Selenium Testing Tools Cookbook

By : UNMESH GUNDECHA
5 (1)
Book Image

Selenium Testing Tools Cookbook

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 (21 chapters)
Selenium Testing Tools Cookbook Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Checking an element's state


Many a time a test fails to click on an element or enter text in a field, as the element is disabled or exists in the DOM but is hidden on the page. This will result in an error being thrown and the test resulting in failure. To build reliable tests that can run unattended, a robust exception and error handling is needed in the test flow.

We can handle these problems by checking the state of elements. The WebElement interface provides the following methods to check the state of an element:

Method

Purpose

isEnabled()

This method checks if an element is enabled. It returns true if enabled, else false if disabled.

isSelected()

This method checks if an element is selected (radio button, checkbox, and so on). It returns true if selected, else false if deselected.

isDisplayed()

This method checks if an element is displayed.

In this recipe, we will use some of these methods to check the status and handle possible errors.

How to do it...

We will create a test...