Book description
Unlock the full potential of Selenium WebDriver to test your web applications in a wide range of situations. The countless recipes and code examples provided ease the learning curve and provide insights into virtually every eventuality.
- Learn to leverage the power of Selenium WebDriver with simple examples that illustrate real world problems and their workarounds
- Each sample demonstrates key concepts allowing you to advance your knowledge of Selenium WebDriver in a practical and incremental way
- Explains testing of mobile web applications with Selenium Drivers for platforms such as iOS and Android
In Detail
Web technologies are becoming increasingly complex and there is a need to test your web applications against a vast number of browsers and platforms, so you need to build highly reliable and maintainable test automation. This book will help you test your web applications effectively and efficiently with Selenium WebDriver.
"Selenium Testing Tools Cookbook" is an incremental guide that will help you learn and use advanced features of Selenium WebDriver API in various situations for building reliable test automation. You will learn how to effectively use features of Selenium using simple and detailed examples. This book will also teach you best practices, design patterns, and how to extend Selenium.
"Selenium Testing Tools Cookbook" shows developers and testers who already use Selenium, how to go to the next step and build a highly maintainable and reliable test framework using advanced features of the tool.
The book starts with tips on advanced location strategy and effective use of Selenium WebDriver API. Then it demonstrates the use of design patterns such as Data Driven Tests and PageFactory for building maintainable test automation.
It also explains extending Selenium WebDriver API along with implementing custom tasks and setting up your own distributed environment to run tests in parallel.
It concludes with tips on integrating Selenium WebDriver with other popular tools, testing mobile web applications, and capturing videos of test runs. This books provides examples in Java, C#, Ruby, and Python.
"Selenium Testing Tools Cookbook" will help you in building a highly robust and maintainable test automation framework from start to finish.
Table of contents
-
Selenium Testing Tools Cookbook
- Table of Contents
- Selenium Testing Tools Cookbook
- Credits
- About the Author
- About the Reviewers
- www.PacktPub.com
- Preface
-
1. Locating Elements
- Introduction
- Using browser tools for inspecting elements and page structure
- Locating an element using the findElement method
- Locating elements using findElements method
- Locating links
- Locating elements by tag name
- Locating elements using CSS selectors
- Locating elements using XPath
- Locating elements using text
- Locating elements using advanced CSS selectors
- Using jQuery selectors
- Locating table rows and cells
- Locating child elements in a table
-
2. Working with Selenium API
- Introduction
- Checking an element's text
- Checking an element's attribute values
- Checking an element's CSS values
- Using Advanced User Interactions API for mouse and keyboard events
- Performing double-click on an element
- Performing drag-and-drop operations
- Executing JavaScript code
- Capturing screenshots with Selenium WebDriver
- Capturing screenshots with RemoteWebDriver/Grid
- Maximizing the browser window
- Automating dropdowns and lists
- Checking options in dropdowns and lists
- Checking selected options in dropdowns and lists
- Automating radio buttons and radio groups
- Automating checkboxes
- Controlling Windows processes
- Reading a Windows registry value from Selenium WebDriver
- Modifying a Windows registry value from Selenium WebDriver
-
3. Controlling the Test Flow
- Introduction
- Synchronizing a test with an implicit wait
- Synchronizing a test with an explicit wait
- Synchronizing a test with custom-expected conditions
- Checking an element's presence
- Checking an element's status
- Identifying and handling a pop-up window by its name
- Identifying and handling a pop-up window by its title
- Identifying and handling a pop-up window by its content
- Handling a simple JavaScript alert
- Handling a confirm box alert
- Handling a prompt box alert
- Identifying and handling frames
- Identifying and handling frames by their content
- Working with IFRAME
-
4. 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
- Reading test data from a database using JUnit and JDBC
- 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
-
5. Using the Page Object Model
- Introduction
- Using the PageFactory class for exposing elements from 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 by using the page-object gem
-
6. 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
-
7. Testing on Mobile Browsers
- Introduction
- Setting up the iWebDriver App for the iPhone/iPad simulator
- Setting up the iWebDriver App for an iPhone/iPad device
- Running tests on iOS using the iWebDriver App and iPhone driver
- Setting up the Android emulator for Selenium
- Setting up the Android device for Selenium
- Running tests using AndroidDriver
-
8. Client-side Performance Testing
- Introduction
- Measuring the response time using a timer
- Measuring performance with the Navigation Timing API
- Using the BrowserMob proxy for measuring performance
- Using dynaTrace for measuring the performance
- Using HttpWatch for measuring performance
- Client-side performance testing with Watir-WebDriver-Performance in Ruby
- 9. Testing HTML5 Web Applications
- 10. Recording Videos of Tests
- 11. Behavior-driven Development
- Index
Product information
- Title: Selenium Testing Tools Cookbook
- Author(s):
- Release date: November 2012
- Publisher(s): Packt Publishing
- ISBN: 9781849515740
You might also like
book
Selenium Testing Tools Cookbook - Second Edition
Over 90 recipes to help you build and run automated tests for your web applications with …
video
Mastering Selenium WebDriver 3.X Test Automation
Are you facing an issue where your tests break often for no obvious reason or are …
video
Data-Driven Testing in Selenium
Selenium is one of the most popular engines for UI test automation. It is available for …
book
Selenium WebDriver Quick Start Guide
Get writing tests and learn to design your own testing framework with Selenium WebDriver API Key …