Selenium Testing Tools Cookbook - Second Edition

Over 90 recipes to help you build and run automated tests for your web applications with Selenium WebDriver
Preview in Mapt

Selenium Testing Tools Cookbook - Second Edition

Unmesh Gundecha

2 customer reviews
Over 90 recipes to help you build and run automated tests for your web applications with Selenium WebDriver
Mapt Subscription
FREE
$29.99/m after trial
eBook
$25.20
RRP $35.99
Save 29%
Print + eBook
$44.99
RRP $44.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$25.20
$44.99
$29.99p/m after trial
RRP $35.99
RRP $44.99
Subscription
eBook
Print + eBook
Start 30 Day Trial

Frequently bought together


Selenium Testing Tools Cookbook - Second Edition Book Cover
Selenium Testing Tools Cookbook - Second Edition
$ 35.99
$ 25.20
Learning Selenium Testing Tools - Third Edition Book Cover
Learning Selenium Testing Tools - Third Edition
$ 26.99
$ 18.90
Buy 2 for $35.00
Save $27.98
Add to Cart
Subscribe and access every Packt eBook & Video.
 
  • 5,000+ eBooks & Videos
  • 50+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 

Book Details

ISBN 139781784392512
Paperback374 pages

Book Description

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

Chapter 1: Getting Started
Introduction
Configuring the Selenium WebDriver test development environment for Java with Eclipse and Maven
Using Ant for the Selenium WebDriver test execution
Configuring Microsoft Visual Studio for Selenium WebDriver test development
Configuring Selenium WebDriver for Python and Ruby
Setting up Internet Explorer Driver Server
Setting up ChromeDriver for Google Chrome
Setting up Microsoft WebDriver for Microsoft Edge
Chapter 2: Finding Elements
Introduction
Using browser tools for inspecting elements and page structure
Finding an element using the findElement method
Finding elements using the findElements method
Finding links
Finding elements by tag name
Finding elements using XPath
Finding elements using CSS selectors
Locating elements using text
Finding elements using advanced CSS selectors
Using jQuery selectors
Chapter 3: Working with Elements
Introduction
Automating textboxes, text areas, and buttons
Checking an element's text
Checking an element's attribute and CSS values
Automating dropdowns and lists
Checking options in the Select element
Checking selected options in dropdowns and lists
Automating radio buttons and radio groups
Automating checkboxes
Working with WebTables
Chapter 4: Working with Selenium API
Introduction
Checking an element's presence
Checking an element's state
Using Advanced User Interactions API for mouse and keyboard events
Performing double-click on an element
Performing drag-and-drop operations
Working with context menus
Executing the JavaScript code
Capturing screenshots with Selenium WebDriver
Maximizing the browser window
Handling session cookies
Working with browser navigation
Working with WebDriver events
Chapter 5: Synchronizing Tests
Introduction
Synchronizing a test with an implicit wait
Synchronizing a test with an explicit wait
Synchronizing a test with custom-expected conditions
Synchronizing a test with FluentWait
Chapter 6: Working with Alerts, Frames, and Windows
Introduction
Handling a simple JavaScript alert box
Handling a confirm and prompt alert box
Identifying and handling frames
Working with IFRAME
Identifying and handling a child window
Identifying and handling a window by its title
Identifying and handling a pop-up window by its content
Chapter 7: Data-Driven Testing
Introduction
Creating a data-driven test using JUnit
Creating a data-driven test using TestNG
Reading test data from a CSV file using JUnit
Reading test data from an Excel file using JUnit and Apache POI
Creating a data-driven test in NUnit
Creating a data-driven test in MSTEST
Creating a data-driven test in Ruby using Roo
Creating a data-driven test in Python using DDT
Chapter 8: Using the Page Object Model
Introduction
Using the PageFactory class for exposing the elements on a page
Using the PageFactory class for exposing an operation on a page
Using the LoadableComponent class
Implementing nested Page Object instances
Implementing the Page Object model in .NET
Implementing the Page Object model in Python
Implementing the Page Object model in Ruby using the page-object gem
Chapter 9: Extending Selenium
Introduction
Creating an extension class for web tables
Creating an extension for the jQueryUI tab widget
Implementing an extension for the WebElement object to set the element attribute values
Implementing an extension for the WebElement object to highlight elements
Creating an object map for Selenium tests
Capturing screenshots of elements in the Selenium WebDriver
Comparing images in Selenium
Measuring performance with the Navigation Timing API
Chapter 10: Testing HTML5 Web Applications
Introduction
Automating the HTML5 video player
Automating interaction on the HTML5 canvas element
Web storage – testing local storage
Web storage – testing session storage
Cleaning local and session storage
Chapter 11: Behavior-Driven Development
Introduction
Using Cucumber-JVM and Selenium WebDriver in Java for BDD
Using SpecFlow.NET and Selenium WebDriver in .NET for BDD
Using Capybara, Cucumber, and Selenium WebDriver in Ruby
Using Behave and Selenium WebDriver in Python
Chapter 12: Integration with Other Tools
Introduction
Configuring Jenkins for continuous integration
Using Jenkins and Maven for Selenium WebDriver test execution in continuous integration
Using Ant for Selenium WebDriver test execution
Using Jenkins and Ant for Selenium WebDriver test execution in continuous integration
Automating a non-web UI in Selenium WebDriver with AutoIt
Automating a non-web UI in Selenium WebDriver with Sikuli
Chapter 13: Cross-Browser Testing
Introduction
Setting up Selenium Grid Server for parallel execution
Adding nodes to Selenium Grid for cross-browser testing
Creating and executing the Selenium script in parallel with TestNG
Creating and executing the Selenium script in parallel with Python
Using Cloud tools for cross-browser testing running tests in the Cloud
Running tests in headless mode with PhantomJS
Chapter 14: Testing Applications on Mobile Browsers
Introduction
Setting up Appium for testing mobile applications
Testing mobile web applications on iOS using Appium
Testing mobile web applications on Android using Appium

What You Will Learn

  • Understand how the locators work and use various locator methods to build reliable tests
  • Build reliable and maintainable tests with the Selenium WebDriver API
  • Use the PageFactory pattern to build a robust and easy to maintain test framework
  • Build data-driven tests and extend Selenium API to implement custom steps and checks
  • Integrate and use ATDD/BDD tools such as Cucumber, SpecFlow, Capybara, and Behave with the Selenium WebDriver API
  • Set up iPhone/iPad and Android simulators and devices to test your mobile web application with Appium
  • Set up Selenium Grid for faster and parallel running of tests, increasing test coverage and reducing test execution time for cross-browser testing
  • Build extended Selenium WebDriver tests for additional coverage

Authors

Table of Contents

Chapter 1: Getting Started
Introduction
Configuring the Selenium WebDriver test development environment for Java with Eclipse and Maven
Using Ant for the Selenium WebDriver test execution
Configuring Microsoft Visual Studio for Selenium WebDriver test development
Configuring Selenium WebDriver for Python and Ruby
Setting up Internet Explorer Driver Server
Setting up ChromeDriver for Google Chrome
Setting up Microsoft WebDriver for Microsoft Edge
Chapter 2: Finding Elements
Introduction
Using browser tools for inspecting elements and page structure
Finding an element using the findElement method
Finding elements using the findElements method
Finding links
Finding elements by tag name
Finding elements using XPath
Finding elements using CSS selectors
Locating elements using text
Finding elements using advanced CSS selectors
Using jQuery selectors
Chapter 3: Working with Elements
Introduction
Automating textboxes, text areas, and buttons
Checking an element's text
Checking an element's attribute and CSS values
Automating dropdowns and lists
Checking options in the Select element
Checking selected options in dropdowns and lists
Automating radio buttons and radio groups
Automating checkboxes
Working with WebTables
Chapter 4: Working with Selenium API
Introduction
Checking an element's presence
Checking an element's state
Using Advanced User Interactions API for mouse and keyboard events
Performing double-click on an element
Performing drag-and-drop operations
Working with context menus
Executing the JavaScript code
Capturing screenshots with Selenium WebDriver
Maximizing the browser window
Handling session cookies
Working with browser navigation
Working with WebDriver events
Chapter 5: Synchronizing Tests
Introduction
Synchronizing a test with an implicit wait
Synchronizing a test with an explicit wait
Synchronizing a test with custom-expected conditions
Synchronizing a test with FluentWait
Chapter 6: Working with Alerts, Frames, and Windows
Introduction
Handling a simple JavaScript alert box
Handling a confirm and prompt alert box
Identifying and handling frames
Working with IFRAME
Identifying and handling a child window
Identifying and handling a window by its title
Identifying and handling a pop-up window by its content
Chapter 7: Data-Driven Testing
Introduction
Creating a data-driven test using JUnit
Creating a data-driven test using TestNG
Reading test data from a CSV file using JUnit
Reading test data from an Excel file using JUnit and Apache POI
Creating a data-driven test in NUnit
Creating a data-driven test in MSTEST
Creating a data-driven test in Ruby using Roo
Creating a data-driven test in Python using DDT
Chapter 8: Using the Page Object Model
Introduction
Using the PageFactory class for exposing the elements on a page
Using the PageFactory class for exposing an operation on a page
Using the LoadableComponent class
Implementing nested Page Object instances
Implementing the Page Object model in .NET
Implementing the Page Object model in Python
Implementing the Page Object model in Ruby using the page-object gem
Chapter 9: Extending Selenium
Introduction
Creating an extension class for web tables
Creating an extension for the jQueryUI tab widget
Implementing an extension for the WebElement object to set the element attribute values
Implementing an extension for the WebElement object to highlight elements
Creating an object map for Selenium tests
Capturing screenshots of elements in the Selenium WebDriver
Comparing images in Selenium
Measuring performance with the Navigation Timing API
Chapter 10: Testing HTML5 Web Applications
Introduction
Automating the HTML5 video player
Automating interaction on the HTML5 canvas element
Web storage – testing local storage
Web storage – testing session storage
Cleaning local and session storage
Chapter 11: Behavior-Driven Development
Introduction
Using Cucumber-JVM and Selenium WebDriver in Java for BDD
Using SpecFlow.NET and Selenium WebDriver in .NET for BDD
Using Capybara, Cucumber, and Selenium WebDriver in Ruby
Using Behave and Selenium WebDriver in Python
Chapter 12: Integration with Other Tools
Introduction
Configuring Jenkins for continuous integration
Using Jenkins and Maven for Selenium WebDriver test execution in continuous integration
Using Ant for Selenium WebDriver test execution
Using Jenkins and Ant for Selenium WebDriver test execution in continuous integration
Automating a non-web UI in Selenium WebDriver with AutoIt
Automating a non-web UI in Selenium WebDriver with Sikuli
Chapter 13: Cross-Browser Testing
Introduction
Setting up Selenium Grid Server for parallel execution
Adding nodes to Selenium Grid for cross-browser testing
Creating and executing the Selenium script in parallel with TestNG
Creating and executing the Selenium script in parallel with Python
Using Cloud tools for cross-browser testing running tests in the Cloud
Running tests in headless mode with PhantomJS
Chapter 14: Testing Applications on Mobile Browsers
Introduction
Setting up Appium for testing mobile applications
Testing mobile web applications on iOS using Appium
Testing mobile web applications on Android using Appium

Book Details

ISBN 139781784392512
Paperback374 pages
Read More
From 2 reviews

Read More Reviews

Recommended for You

Selenium WebDriver Practical Guide Book Cover
Selenium WebDriver Practical Guide
$ 26.99
$ 18.90
Mastering Web Application Development with AngularJS Book Cover
Mastering Web Application Development with AngularJS
$ 26.99
$ 5.40
Selenium Testing Tools Cookbook Book Cover
Selenium Testing Tools Cookbook
$ 26.99
$ 18.90
Selenium Design Patterns and Best Practices Book Cover
Selenium Design Patterns and Best Practices
$ 19.99
$ 14.00
Python Machine Learning Book Cover
Python Machine Learning
$ 35.99
$ 25.20
Learning Docker Book Cover
Learning Docker
$ 39.99
$ 8.00