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

Capturing screenshots with Selenium WebDriver


Selenium WebDriver provides the TakesScreenshot interface to capture a screenshot of a web page. This helps in test runs, showing exactly what happened when an exception or error has occurred during execution, and so on. We can also capture screenshots during verification of element state, values displayed in elements, or state after an action is completed.

Capturing screenshots also helps in the verification of layouts, field alignments, and so on, where we compare screenshots taken during test execution with baseline images.

In this recipe, we will use the TakesScreenshot interface to capture a screenshot of the web page under test.

How to do it...

Let's create a test that will open our test application and take a screenshot of the page in PNG (Portable Network Graphics) format, as shown in the following code example:

@Test
public void testTakesScreenshot() throws Exception {
  File scrFile = ((TakesScreenshot) driver)
      .getScreenshotAs(OutputType...