Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Selenium Testing Tools Cookbook

You're reading from   Selenium Testing Tools Cookbook 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.

Arrow left icon
Product type Paperback
Published in Nov 2012
Publisher Packt
ISBN-13 9781849515740
Length 326 pages
Edition 1st Edition
Arrow right icon
Author (1):
Arrow left icon
UNMESH GUNDECHA UNMESH GUNDECHA
Author Profile Icon UNMESH GUNDECHA
UNMESH GUNDECHA
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

Selenium Testing Tools Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
1. Locating Elements FREE CHAPTER 2. Working with Selenium API 3. Controlling the Test Flow 4. Data-driven Testing 5. Using the Page Object Model 6. Extending Selenium 7. Testing on Mobile Browsers 8. Client-side Performance Testing 9. Testing HTML5 Web Applications 10. Recording Videos of Tests 11. Behavior-driven Development Index

Index

A

  • Acceptance Test Driven Development (ATDD)
    • about / Introduction
  • Actions class
    • about / Using Advanced User Interactions API for mouse and keyboard events
  • act_options array list / How it works...
  • advanced CSS selectors
    • used, for locating elements / Locating elements using advanced CSS selectors
  • Advanced User Interactions API
    • used, for mouse and keyboard events / Using Advanced User Interactions API for mouse and keyboard events, How to do it..., How it works...
  • Alert class
    • about / How it works...
  • Android Development Tools (ADT) plugin / There's more...
  • Android device
    • setting up, for Selenium / Setting up the Android device for Selenium, How it works..., There's more...
  • AndroidDriver
    • used, for testing application / Running tests using AndroidDriver, How to do it..., How it works...
  • AndroidDriver architecture
    • about / Introduction
  • Android emulator
    • setting up, for Selenium / Setting up the Android emulator for Selenium, How to do it...
  • assertArrayEquals() method / How it works...
  • Attributes Name Selector
    • used, for finding elements / How to do it...
  • attributes selector
    • used, for finding elements / How to do it...
  • attribute values, element
    • checking / Checking an element's attribute values
  • avaScriptExecutor class / How it works...

B

  • BDD/ATDD
    • about / Using Cucumber-JVM and Selenium WebDriver in Java for BDD
  • BDD/ATDD tests
    • creating, with Cucumber-JVM / How to do it...
  • BDD implementation, in .NET
    • SpecFlow.NET and Selenium WebDriver used / Using SpecFlow.NET and Selenium WebDriver in .NET for BDD, Getting ready
  • Behavior Driven Development (BDD)
    • about / Introduction
  • benefits, data-driven approach
    • about / Benefits of data-driven testing
  • BMI
    • about / Introduction
  • bmiCalcPage.load() method / How to do it...
  • BmiCalcPage class / How to do it...
  • BMI Calculator application
    • about / Using browser tools for inspecting elements and page structure
  • BMI calculator application
    • about / Introduction
    • testing / Introduction
  • BMI calculator application tests
    • creating, JBehave and Selenium used / Using JBehave and Selenium WebDriver in Java, Getting ready, How to do it..., How it works...
    • working / How it works...
  • BMI Calculator page
    • exposing / Using the PageFactory class for exposing elements from a page
    • Page Object test, implementing / How to do it...
  • BmiTestData property / How it works...
  • Browser class / How to do it...
  • BrowserMob proxy
    • about / Using the BrowserMob proxy for measuring performance
    • used, for measuring performance / Using the BrowserMob proxy for measuring performance
    • setting up, for Selenium WebDriver test / Using the BrowserMob proxy for measuring performance, How to do it...
    • downloading / Getting ready
    • working / How it works...
  • browser window
    • maximizing / Maximizing the browser window, How to do it...
  • build() method
    • about / How it works...

C

  • *checked, UI state pseudo-classes
    • about / How to do it...
  • <canvas> element
    • about / Automating interaction on the HTML5 canvas element
  • CacheLookUp Attribute
    • about / CacheLookUp Attribute
  • CalculateBmi() method / How it works...
  • calculateBmi() method / How to do it...
  • captureElementBitmap() method
    • about / How to do it..., How it works...
  • Capybara
    • about / Using Capybara, Cucumber, and Selenium WebDriver in Ruby
    • installing / Getting ready
  • Capybara, Cucumber and Selenium
    • used, for testing BMI Calculator application / Using Capybara, Cucumber, and Selenium WebDriver in Ruby, How to do it..., How it works...
  • Castro
    • about / Recording videos of tests using Castro in Python
    • used, for recording videos of tests / Recording videos of tests using Castro in Python, How to do it...
    • working / How it works..., There's more...
  • Checkbox control
    • automating / Automating checkboxes, How it works...
  • child elements
    • finding / How to do it...
    • locating, in table / Locating child elements in a table, How to do it..., How it works...
  • class attribute
    • used, for locating elements / How to do it..., There's more...
  • class selector
    • used, for finding elements / How to do it...
  • click() method / How it works..., Automating checkboxes
  • click() operation
    • about / How it works...
  • clickcount key
    • about / How it works...
  • client-side performance
    • testing / Introduction
  • client-side performance test
    • response time, measuring using timer / Measuring the response time using a timer, How it works...
    • performance, measuring with Navigation Timing API / Measuring performance with the Navigation Timing API, Getting ready, How it works...
    • performance, measuring using BrowserMob proxy / Using the BrowserMob proxy for measuring performance, How to do it..., How it works...
    • performance, measuring using dynaTrace / Using dynaTrace for measuring the performance, Getting ready, How to do it..., How it works...
    • performance, measuring using HttpWatch / Using HttpWatch for measuring performance, How to do it..., How it works...
    • Watir-WebDriver-Performance, used / Client-side performance testing with Watir-WebDriver-Performance in Ruby, Getting ready, How to do it...
  • close() method / How to do it...
  • CompareUtil class
    • implementing / How to do it..., How it works...
  • confirm box
    • about / Handling a confirm box alert
  • confirm box alert
    • handling / Handling a confirm box alert, How to do it...
  • contains() function
    • about / How to do it...
  • contains()pseudo-class
    • about / How to do it...
  • CSS
    • about / Locating elements using CSS selectors
    • pattern-matching rules / Locating elements using CSS selectors
  • CSS absolute paths
    • used, for finding elements / How to do it...
  • CSS partial match syntax
    • about / Performing partial match on attribute values
    • ^= / Performing partial match on attribute values
    • $= / Performing partial match on attribute values
    • *= / Performing partial match on attribute values
  • cssSelector() method / How to do it..., How it works...
  • CSS values, element
    • checking / Checking an element's CSS values, How it works...
  • CSV file
    • test data, reading from / Reading test data from a CSV file using JUnit, How to do it..., How it works...
  • Cucumber-JVM
    • about / Using Cucumber-JVM and Selenium WebDriver in Java for BDD
  • Cucumber-JVM and Selenium WebDriver
    • using in Java, for BDD / Using Cucumber-JVM and Selenium WebDriver in Java for BDD, How to do it..., How it works...
  • currentSrc property / How it works...
  • custom-expected conditions
    • used, for synchronizing test / Synchronizing a test with custom-expected conditions, How it works...
  • custom wait
    • about / There's more...
    • element's attribute value update, waiting for / Waiting for element's attribute value update
    • element's visibility, waiting for / Waiting for an element's visibility
    • DOM events, waiting for / Waiting for DOM events

D

  • *disabled, UI state pseudo-classes
    • about / How to do it...
  • <div> element
    • about / There's more...
  • @DataProvider annotation
    • about / How to do it...
  • data-driven approach
    • about / Introduction
    • using / Introduction
    • workflow / Data-driven approach – workflow
    • benefits / Benefits of data-driven testing
    • test data, reading from CSV file using JUnit / Reading test data from a CSV file using JUnit, How to do it..., How it works...
    • test data, reading from Excel file using JUnit and Apache POI / Reading test data from an Excel file using JUnit and Apache POI, How to do it..., How it works...
    • test data, reading from database using JUnit and JDBC / Reading test data from a database using JUnit and JDBC, How to do it..., How it works...
  • data-driven test
    • creating, JUnit used / Creating a data-driven test using JUnit, How to do it..., How it works...
    • creating, TestNG used / Creating a data-driven test using TestNG, How to do it..., How it works...
    • creating, in NUnit / Creating a data-driven test in NUnit, How to do it..., How it works...
    • creating, in MSTEST / Creating a data-driven test in MSTEST, How to do it..., How it works...
    • creating, in Ruby using Roo / Creating a data-driven test in Ruby using Roo, How to do it..., How it works...
    • creating, in Python / Creating a data-driven test in Python, How it works...
  • data.cell() method / How it works...
  • database
    • test data, reading from / Reading test data from a database using JUnit and JDBC, How to do it..., How it works...
  • DataProvider feature
    • about / Creating a data-driven test using TestNG
  • dataProvider method / How it works...
  • DataSource attribute / How it works...
  • deselectByIndex() method / How it works...
  • deselectByValue() method / How it works...
  • dismiss() method
    • about / How to do it...
  • Document Object Model (DOM)
    • about / Synchronizing a test with an implicit wait
  • DOM (Document Object Model) / How it works...
  • double-click events
    • performing, on element / Performing double-click on an element, How it works...
  • doubleClick() method
    • about / How it works...
  • drag-and-drop operation
    • performing / Performing drag-and-drop operations, How to do it...
  • dragAndDrop() method
    • about / How it works...
  • driver.close() method / How it works...
  • driver.findElement() method / How it works...
  • driver.getPageSource() method / How it works...
  • driver.getWindowHandles() method / How it works..., Identifying and handling a pop-up window by its content, How it works...
  • driver.switchTo().alert() method
    • about / NoAlertPresentException
  • driver.switchTo().frame() method / Identifying and handling frames
  • driver.switchTo().frame() method / How it works...
  • driver.switchTo().window() method / How it works...
  • dropdowns and lists
    • automating / Automating dropdowns and lists, How to do it..., How it works...
    • options / How it works...
    • selection/deselection by visible text / How it works...
    • selection/deselection by value / How it works...
    • selection/deselection by index / How it works..., There's more...
    • options, checking / Checking options in dropdowns and lists, How it works...
    • selected options, checking / Checking selected options in dropdowns and lists, How to do it..., How it works...
    • selected options, checking in multi-select dropdown or list / How it works...
  • dynaTrace
    • about / Using dynaTrace for measuring the performance
    • used, for measuring performance / Using dynaTrace for measuring the performance
    • setting up, for Selenium WebDriver test / Using dynaTrace for measuring the performance, How to do it...
    • downloading / Getting ready
    • installing / Getting ready
    • working / How it works...

E

  • *enabled, UI state pseudo-classes
    • about / How to do it...
  • e-commerce application
    • URL / Implementing nested Page Object instances
  • easy_install / Getting ready
  • element
    • locating, findElement method used / Locating an element using the findElement method
  • element's attribute values
    • checking / Checking an element's attribute values
  • element's CSS values
    • checking / Checking an element's CSS values, How to do it...
  • element's presence
    • checking / Checking an element's presence, How it works...
  • element's status
    • checking / Checking an element's status, How it works...
  • element's text
    • checking / Checking an element's text, How it works...
  • elements
    • finding, by ID attribute / How to do it...
    • finding, by Name attribute / How to do it...
    • finding, by Class attribute / How to do it..., There's more...
    • locating, findElements method used / Locating elements using findElements method, How to do it...
    • locating, by tag name / Locating elements by tag name, How it works...
    • locating, CSS selectors used / Locating elements using CSS selectors
    • locating, XPath used / Locating elements using XPath
    • finding, with absolute path / How to do it...
    • locating, with XPath axis / How to do it..., How it works...
    • locating, text used / Locating elements using text
  • elements, locating using text
    • CSS selector Contains Pseudo-Class, using / How to do it...
    • XPath text function, using / How to do it...
    • exact text value, using / How to do it...
  • elements, locating with advanced CSS selectors
    • about / Locating elements using advanced CSS selectors
    • child elements, finding / How to do it...
    • sibling elements, finding / How to do it...
    • user action pseudo-classes, using / How to do it...
    • UI state pseudo-classes, using / How to do it...
  • elements, locating with CSS selectors
    • finding, with absolute path / How to do it...
    • finding, with relative path / How to do it...
    • finding, CSS selector used / How to do it...
    • finding, ID selector used / How to do it...
    • finding, attributes selector used / How to do it...
    • finding, Attributes Name Selector used / How to do it...
    • partial match, performing on attribute values / Performing partial match on attribute values
  • elements, locating with XPath
    • about / How to do it...
    • finding, absolute path used / How to do it...
    • finding, relative path used / How to do it...
    • finding, index used / How to do it...
    • finding, attributes values used / How to do it...
    • finding, attributes used / How to do it...
    • partial match, performing on attribute values / How to do it...
    • attribute, matching using value / How to do it...
  • elements and page structure
    • inspecting, browser tools used / Using browser tools for inspecting elements and page structure
    • inspecting, Firefox used / How to do it...
    • inspecting, Google Chrome used / How to do it...
    • inspecting, Internet Explorer used / How to do it..., How it works...
  • ends-with() function
    • about / How to do it...
  • Excel file
    • test data, reading from / Reading test data from an Excel file using JUnit and Apache POI, How to do it..., How it works...
  • executeScript() method / There's more..., How it works..., How it works...
  • ExpectedCondition class
    • about / Synchronizing a test with an explicit wait
    • predefined conditions / Synchronizing a test with an explicit wait
  • ExpectedConditions.presenceOfElementLocated() method / How it works...
  • ExpectedConditions.titleContains() method / How to do it...
  • explicit wait
    • used, for synchronizing test / Synchronizing a test with an explicit wait, How it works...
  • extension
    • creating, for jQueryUI Tab widget / Creating an extension for the jQueryUI Tab widget, How to do it..., How it works...
  • extension, for WebElement
    • implementing, for setting element attribute values / Implementing an extension for the WebElement object to set the element attribute values, How it works...
    • implementing, for highlighting elements / Implementing an extension for the WebElement object to highlight elements, How it works...
  • extension class
    • creating, for web tables / Creating an extension class for web tables, How to do it..., How it works...
  • extension class, for comparing images
    • creating / Comparing images in Selenium, How it works..., There's more...

F

  • *first-child, pseudo-classes
    • about / How to do it...
  • find() function / How it works...
  • FindBy annotations
    • about / FindBy annotations
  • findElement() method
    • about / Locating an element using the findElement method
  • findElements() method
    • about / Locating an element using the findElement method
  • findElements method
    • used, for locating elements / Locating elements using findElements method, How to do it...
  • Firebug add-in
    • used, for inspecting pages and elements / How to do it...
  • FirefoxDriver() / There's more...
    • about / How to do it...
  • frames
    • handling / Identifying and handling frames
    • identifying / Identifying and handling frames, How to do it...
    • handling, by content / Identifying and handling frames by their content, How it works...
    • identifying, by content / Identifying and handling frames by their content, How it works...
  • Fund Transfer feature / How to do it...
    • testing, SpecFlow.NET used / How to do it...
  • FundTransferPage class / How it works...
  • FundTransferStepDefs / How to do it...

G

  • getAllSelectedOptions().size() method / How it works...
  • getAllSelectedOptions() method / How it works...
  • getBmi() method / How to do it...
  • getBmiCategory() method / How to do it...
  • GetBmiTestData() method / How it works...
  • getCellData() function / How it works...
  • getCellEditor() method / How it works...
  • getCSSValue() function
    • about / Checking an element's CSS values
  • getElementsByTagName() DOM method
    • about / Locating elements by tag name
  • getFirstSelectedOption() method / How it works...
  • getHar() method / How it works...
  • getLocator() method / How it works...
  • getOptions() method / How it works...
  • getProducts() method / How it works...
  • getScreenshotAs() method / How it works...
  • getScreenShotAs() method
    • about / How it works...
  • getTestData() method / How to do it..., How it works...
  • getText() method
    • about / Checking an element's text
    / How it works...
  • Google.new() method / There's more...
  • Google Chrome
    • used, for inspecting pages and elements / How to do it...
  • GoogleSearch class
    • about / How to do it...
  • GraphicsEnvironment class
    • about / How it works...
  • GUI (Graphical User Interface) tests
    • about / Introduction

H

  • helper class
    • defining / How to do it...
  • He_enters_payee_name() method / How it works...
  • highlightElement() method / How to do it...
  • hockwave Flash (SWF) movie file / Recording videos of tests using Castro in Python
  • HomePage class / How to do it...
  • HTML5 canvas element
    • interaction, automating / Automating interaction on the HTML5 canvas element, How it works...
  • HTML5 video player
    • automating / Automating the HTML5 video player, How it works...
  • HTML5 web applications, testing
    • HTML5 video player, automating / Automating the HTML5 video player, How it works...
    • interaction, automating on HTML5 canvas element / Automating interaction on the HTML5 canvas element, How it works...
    • local storage, testing / Web storage – testing local storage, There's more...
    • session storage, testing / Web storage – testing session storage, How it works...
    • local and session storage, cleaning / Cleaning local and session storage
  • HTML Archive (HAR) format
    • about / Using the BrowserMob proxy for measuring performance
  • HTML frames
    • about / Identifying and handling frames
  • HttpWatch
    • about / Using HttpWatch for measuring performance
    • used, for measuring performance / Using HttpWatch for measuring performance
    • setting up, for Selenium WebDriver test / Using HttpWatch for measuring performance, Getting ready, How to do it...
    • installing / Getting ready
    • downloading / Getting ready
    • working / How it works...
  • HttpWatch Controller class / How it works...

I

  • <iframe> tag / Working with IFRAME
  • id attribute
    • about / How to do it...
    • used, for locating elements / How to do it...
  • ID selector
    • used, for finding elements / How to do it...
  • IEnterHeight() method / How it works...
  • IEnumerable property / How it works...
  • IFRAME
    • working with / Working with IFRAME, How it works...
  • implicitlyWait() method
    • about / How it works...
  • implicit wait
    • used, for synchronizing test / Synchronizing a test with an implicit wait, How it works...
  • initElements() method / How it works...
  • injectjQueryIfNeeded() method / There's more...
  • Internet Explorer
    • used, for inspecting pages and elements / How to do it..., How it works...
  • iPhone/iPad device
    • iWebDriver App, setting up for / Setting up the iWebDriver App for an iPhone/iPad device, How to do it...
  • iPhone/iPad simulator
    • iWebDriver App, setting up for / Setting up the iWebDriver App for the iPhone/iPad simulator, How to do it..., How it works..., There's more...
  • IPhoneDriver architecture
    • about / Introduction
  • isDisplayed() method / Checking an element's status
  • isElementPresent() method
    • implementing / Checking an element's presence, How to do it...
  • isEnabled() method / Checking an element's status
  • isLoaded() method / How to do it..., How it works...
  • isMultiple() method / How it works...
  • isSelected() method / Automating radio buttons and radio groups, Automating checkboxes, Checking an element's status
  • iWebDriver App
    • setting up, for iPhone/iPad simulator / Setting up the iWebDriver App for the iPhone/iPad simulator, How to do it..., How it works...
    • configuring, for iPhone/iPad simulator / There's more...
    • setting up, for iPhone/iPad device / Setting up the iWebDriver App for an iPhone/iPad device, How to do it...
  • iWebDriver App and iPhone driver
    • used, for testing application / Running tests on iOS using the iWebDriver App and iPhone driver, How it works...

J

  • JavaScript alert
    • handling / Handling a simple JavaScript alert, How to do it..., How it works...
  • JavaScript code
    • executing / Executing JavaScript code, How it works...
  • JavaScriptExecutor class / How it works..., How to do it...
  • JavascriptExecutor interface
    • used, for executing JavaScript code / Executing JavaScript code, How it works...
    • about / Executing JavaScript code
  • Java String API methods
    • using / There's more...
    • contains() / There's more...
    • startsWith() / There's more...
    • endsWith() / There's more...
  • JBehave
    • about / Using JBehave and Selenium WebDriver in Java
  • JBehave and Selenium WebDriver
    • used, for creating test / Using JBehave and Selenium WebDriver in Java, How to do it...
  • JBehave Web Distribution
    • URL / Getting ready
  • JBehave Web extension
    • downloading / Getting ready
  • jQueryLoaded() method / There's more...
  • jQuery selectors
    • about / Using jQuery selectors
    • using / Using jQuery selectors
    • using, with Selenium WebDriver / Using jQuery selectors, How it works..., There's more...
  • jQuery UI
    • about / Creating an extension for the jQueryUI Tab widget
  • JQueryUITab class / How to do it...
  • JUnit
    • about / Creating a data-driven test using JUnit
    • used, for creating data-driven test / Creating a data-driven test using JUnit, How to do it..., How it works...
    • used, for reading test data from CSV file / Reading test data from a CSV file using JUnit, How to do it..., How it works...
  • JUnit and Apache POI
    • used, for reading test data from Excel file / Reading test data from an Excel file using JUnit and Apache POI, How to do it..., How it works...
  • JUnit and JDBC
    • used, for reading test data from database / Reading test data from a database using JUnit and JDBC, How to do it..., How it works...
  • JUnitStory class / How it works...

K

  • keyDown()
    • about / How it works...

L

  • *last-child, pseudo-classes
    • about / How to do it...
  • lastName key / How it works...
  • link
    • locating / Locating links
    • locating, by text / How to do it...
    • locating, by partial text / How to do it...
  • linkText() method
    • about / How to do it..., How it works...
  • load() method / How to do it...
  • LoadableComponent class
    • using / Using the LoadableComponent class, How to do it..., How it works...
  • local and session storage
    • cleaning / Cleaning local and session storage
  • local storage
    • testing / Web storage – testing local storage, How it works...
  • localStorage interface / Web storage – testing local storage
  • locator strategies
    • about / Locating an element using the findElement method
    • By ID / Locating an element using the findElement method
    • By name / Locating an element using the findElement method
    • By class name / Locating an element using the findElement method
    • By tag name / Locating an element using the findElement method
    • By link text / Locating an element using the findElement method
    • By partial link text / Locating an element using the findElement method
    • By CSS / Locating an element using the findElement method
    • By XPath / Locating an element using the findElement method
  • Log.Save() method / How it works...

M

  • maximize() method / How it works...
  • Microsoft Expression Encoder
    • about / Recording videos of tests using Microsoft Expression Encoder 4 SDK in .NET
    • basic version / Recording videos of tests using Microsoft Expression Encoder 4 SDK in .NET
    • Pro version / Recording videos of tests using Microsoft Expression Encoder 4 SDK in .NET
    • used, for recording videos of tests / Recording videos of tests using Microsoft Expression Encoder 4 SDK in .NET, How to do it...
    • URL / Getting ready
    • working / How it works...
  • mobile BMI calculator web application
    • testing on iOS, iWebDriver App and iPhone driver used / Running tests on iOS using the iWebDriver App and iPhone driver, How it works...
    • testing, AndroidDriver used / Running tests using AndroidDriver, How to do it..., How it works...
    • testing, with RemoteWebDriver / Running the test with RemoteWebDriver
  • mobile web application
    • testing / Introduction
  • Monte Media Library
    • about / Recording videos of tests using Monte Media Library in Java
    • used, for recording videos of tests / Recording videos of tests using Monte Media Library in Java, How to do it...
    • configuring / Recording videos of tests using Monte Media Library in Java
    • working / How it works...
  • moveByOffset() method
    • about / How it works...
  • MSTEST
    • data-driven test, creating / Creating a data-driven test in MSTEST, How to do it..., How it works...
    • features / Creating a data-driven test in MSTEST
    • about / Creating a data-driven test in MSTEST

N

  • *nth-child(2), pseudo-classes
    • about / How to do it...
  • .NET
    • implementing, in .NET / Implementing the Page Object model in .NET, How to do it..., How it works...
  • name attribute
    • used, for locating elements / How to do it...
    • about / How to do it...
  • Navigation Timing
    • about / Measuring performance with the Navigation Timing API
    • used, for measuring performance / Measuring performance with the Navigation Timing API, Getting ready
    • working / How it works...
  • nested Page Object instances
    • implementing / Implementing nested Page Object instances, How to do it..., How it works...
  • NoAlertPresentException
    • about / NoAlertPresentException
  • NoSuchElementException exception / How it works...
  • NoSuchElementFoundException
    • about / There's more...
  • NoSuchWindowException
    • about / NoSuchWindowException
  • NUnit
    • about / Creating a data-driven test in NUnit
    • data-driven test, creating / Creating a data-driven test in NUnit, How it works...
    • downloading / Getting ready
    • installing / Getting ready
  • NUnit Test Adapter
    • downloading / Getting ready
    • installing / Getting ready

O

  • @override annotation / How to do it...
  • object map, for Selenium tests
    • creating / Creating an object map for Selenium tests, Getting ready, How to do it..., How it works...
  • ObjectMap class
    • implementing / Creating an object map for Selenium tests
  • OpenWIndow() method / How it works...
  • options, dropdowns and lists
    • checking / Checking options in dropdowns and lists, How it works...

P

  • @Parameters annotation / How to do it...
  • page-object gem
    • using / How it works...
    • about / How it works...
  • PageFactory.initElements() method / How to do it...
  • PageFactory.InitElements() method / How it works...
    • implementing, in .NET / How it works...
  • PageFactory class
    • used, for exposing elements from page / Using the PageFactory class for exposing elements from a page, How to do it..., How it works...
    • used, for exposing operation on page / Using the PageFactory class for exposing an operation on a page, How to do it..., How it works...
  • Page object
    • defining / How to do it...
  • Page Object design pattern
    • about / Introduction
  • Page Object model
    • PageFactory class, using, for exposing elements / Using the PageFactory class for exposing elements from a page, How to do it..., How it works...
    • PageFactory class, using, for exposing operation / Using the PageFactory class for exposing an operation on a page, How to do it..., How it works...
    • LoadableComponent class, using / Using the LoadableComponent class, How to do it..., How it works...
    • nested Page Object instances, implementing / Implementing nested Page Object instances, How to do it..., How it works...
    • implementing, in .NET / Implementing the Page Object model in .NET, How to do it..., How it works...
    • implementing, in Python / Implementing the Page Object model in Python, How to do it..., How it works...
    • implementing, in Ruby using page-object gem / Implementing the Page Object model in Ruby by using the page-object gem, How to do it..., How it works...
  • partialLinkText() method
    • about / How to do it...
  • partial match
    • performing, on attribute values / How it works...
  • partial text
    • used, for finding link / How to do it...
  • perform() method
    • about / How it works...
  • performance.timing attribute / Measuring performance with the Navigation Timing API
  • PerformanceTiming interface / How it works...
  • pop-up window
    • handling, by name attribute / Identifying and handling a pop-up window by its name, How to do it..., How it works...
    • identifying, by name attribute / Identifying and handling a pop-up window by its name, How to do it..., How it works...
    • identifying, by title attribute / Identifying and handling a pop-up window by its title, How it works...
    • handling, by title attribute / Identifying and handling a pop-up window by its title, How it works...
    • identifying, by content / Identifying and handling a pop-up window by its content, How it works...
    • handling, by content / Identifying and handling a pop-up window by its content, How it works...
  • pop-up windows and alerts
    • about / Pop ups and Alerts
  • predefined conditions, ExpectedCondition class
    • about / Synchronizing a test with an explicit wait
  • prompt box
    • about / Handling a prompt box alert
  • prompt box alert
    • handling / Handling a prompt box alert, How it works...
  • pseudo-classes
    • *first-child / How to do it...
    • *last-child / How to do it...
    • *lnth-child(2) / How to do it...
  • Python
    • about / Creating a data-driven test in Python
    • data-driven test, creating / Creating a data-driven test in Python, How to do it..., How it works...
    • Page Object model, implementing / Implementing the Page Object model in Python, How to do it..., How it works...
  • Pyvnc2swf / Recording videos of tests using Castro in Python

R

  • @RunWith attribute / How to do it...
  • Radio Button and Radio Group controls
    • automating / Automating radio buttons and radio groups, How it works...
    • working / How it works...
  • radio group
    • working with / How it works...
  • readStringRegistryValue() function / How it works...
  • readStringRegistryValue() method / How to do it...
  • relative path
    • used, for finding elements / How to do it...
  • RemoteWebDrive
    • used, for testing application / Running the test with RemoteWebDriver
  • RemoteWebDriver
    • about / Introduction
  • RemoteWebDriver/Grid
    • used, for capturing screenshots / Capturing screenshots with RemoteWebDriver/Grid
  • removeItem() method / How it works...
  • response time
    • measuring, timer used / Measuring the response time using a timer, How it works...
  • Roo
    • used, for creating data-driven test in Ruby / Creating a data-driven test in Ruby using Roo
    • about / Creating a data-driven test in Ruby using Roo
  • Ruby
    • about / Creating a data-driven test in Ruby using Roo
    • data-driven test, creating using Roo / Creating a data-driven test in Ruby using Roo, How to do it..., How it works..., There's more...
    • Page Object model, implementing with page-object gem / Implementing the Page Object model in Ruby by using the page-object gem, How to do it..., How it works...
  • Ruby Excel COM WIN32 API
    • about / Creating a data-driven test in Ruby using Roo
  • RunCukesTest class / How to do it..., How it works...

S

  • <select> element / How it works...
  • SaveAsFile() method / There's more...
  • screen capture functionality
    • extending / Capturing screenshots of elements in the Selenium WebDriver, How it works...
  • ScreenCaptureJob object / How to do it...
  • ScreenRecorder class
    • about / Recording videos of tests using Monte Media Library in Java
  • ScreenRecorder constructor
    • parameters / How it works...
    • GraphicsConfiguration parameter / How it works...
  • screenshots
    • capturing, with Selenium WebDriver / Capturing screenshots with Selenium WebDriver, There's more...
    • capturing, in C# / There's more...
    • capturing, with RemoteWebDriver/Grid / Capturing screenshots with RemoteWebDriver/Grid
  • Search class / Implementing nested Page Object instances
  • searchInStore() method / How it works...
  • SearchResults class / Implementing nested Page Object instances
  • selectByIndex() method / How it works...
  • selectByValue() method / How it works...
    • about / How it works...
  • selectByVisible() method / How it works...
  • Select class
    • about / How it works...
  • selected options, dropdowns and lists
    • checking / Checking selected options in dropdowns and lists, How to do it..., How it works...
    • checking, in multi-select dropdown or list / How it works...
  • Selenium
    • Android emulator, setting up for / Setting up the Android emulator for Selenium, How to do it...
    • Android device, setting up for / Setting up the Android device for Selenium, How it works...
    • client-side performance, testing / Introduction
  • Selenium API
    • working with / Introduction
    • element's text, checking / Checking an element's text
    • element's attribute values, checking / Checking an element's attribute values
    • element's CSS values, checking / Checking an element's CSS values
    • Advanced User Interactions API / Using Advanced User Interactions API for mouse and keyboard events
    • double-click, performing / Performing double-click on an element
    • drag-and-drop operation, performing / Performing drag-and-drop operations
    • JavaScript code, executing / Executing JavaScript code
  • Selenium WebDriver
    • about / Introduction
    • elements, locating using findElement method / Locating an element using the findElement method, How to do it...
    • elements, locating using findElements method / Locating elements using findElements method, How it works...
    • links, locating / Locating links
    • elements, locating by tag name / Locating elements by tag name
    • elements, locating using CSS selectors / Locating elements using CSS selectors
    • elements, locating using text / Locating elements using text
    • elements, locating using advanced CSS selectors / Locating elements using advanced CSS selectors
    • jQuery selectors, using / Using jQuery selectors
    • table rows and cells, locating / Locating table rows and cells, How it works...
    • child elements, locating in table / Locating child elements in a table, How to do it..., How it works...
    • used, for capturing screenshots / Capturing screenshots with Selenium WebDriver, There's more...
    • browser window, maximizing / Maximizing the browser window, How to do it...
    • dropdowns and lists, automating / Automating dropdowns and lists
    • Radio Button and Radio Group controls, automating / Automating radio buttons and radio groups, How it works...
    • Checkbox control, automating / Automating checkboxes, How it works...
    • Windows processes, controlling / Controlling Windows processes, How to do it...
    • Windows registry value, reading / Reading a Windows registry value from Selenium WebDriver, How it works...
    • Windows registry value, modifying / Modifying a Windows registry value from Selenium WebDriver, How it works...
    • test flow, controlling / Introduction
    • Page Object model, using / Introduction
    • HTML5 web applications, testing / Introduction
  • Selenium WebDriver, extending
    • extension class, creating for web tables / Creating an extension class for web tables, How to do it..., How it works...
    • extension, creating for jQueryUI Tab widget / Creating an extension for the jQueryUI Tab widget, How to do it..., How it works...
    • extension, implementing for WebElement object / Implementing an extension for the WebElement object to set the element attribute values, How it works..., Getting ready, How it works...
    • object map, creating / Creating an object map for Selenium tests, How to do it..., How it works...
    • screenshots, capturing / Capturing screenshots of elements in the Selenium WebDriver, How it works...
    • images, comparing / Comparing images in Selenium, How to do it..., How it works..., There's more...
  • Selenium WebDriver extensions
    • about / Introduction
  • sendKeys() method
    • about / How it works...
    / Implementing an extension for the WebElement object to set the element attribute values, How it works...
  • SendKeysl() method / How it works...
  • session storage
    • testing / Web storage – testing session storage, How to do it...
  • sessionStorage interface
    • about / How it works...
  • session storage stores
    • about / Web storage – testing session storage
  • setAttribute() method / How to do it...
  • setUp() method / How to do it..., How to do it...
    • about / How to do it...
  • Shockwave Flash (SWF) movie file / Recording videos of tests using Castro in Python
  • sibling elements
    • finding / How to do it...
  • spec file
    • creating / How to do it...
  • SpecFlow
    • installing / Getting ready
    • downloading / Getting ready
  • SpecFlow.NET
    • about / Using SpecFlow.NET and Selenium WebDriver in .NET for BDD
    • working / How it works...
  • SpecFlow.NET and Selenium WebDriver
    • using in .NET, for BDD / Using SpecFlow.NET and Selenium WebDriver in .NET for BDD, How to do it...
  • SpreadsheetData class / How it works...
  • starts-with() function
    • about / How to do it...
  • step definition file
    • creating / How to do it...
  • StopWatch class
    • about / There's more...
    • in .NET bindings / StopWatch in .NET bindings
  • StoryBase class / How it works...
  • Story Testing
    • about / Introduction
  • support, for jQuery UI Tab widget
    • implementing / Creating an extension for the jQueryUI Tab widget
  • System.currentTimeMillis() method / How to do it...

T

  • table rows and cells
    • locating / Locating table rows and cells, How it works...
  • tagname() method / How it works...
  • tagName() method
    • about / Locating elements by tag name
    / How it works...
  • TakesScreenshot interface
    • about / Capturing screenshots with Selenium WebDriver, Capturing screenshots of elements in the Selenium WebDriver
  • teardown() method / How to do it...
  • tearDown() method
    • about / How to do it...
  • Techsmith Screen Capture Codec (TSCC Codec) / Recording videos of tests using Monte Media Library in Java
  • TestCaseSource attribute / How it works...
  • TestCleanUp() method / How to do it...
  • testConfirmAccept test
    • about / How to do it...
  • TestContext test method / How it works...
  • test data
    • reading from CSV file, JUnit used / Reading test data from a CSV file using JUnit, How to do it..., How it works...
  • testData() method / How it works..., How to do it...
  • Test Driven Development (TDD)
    • about / Introduction
  • testDropdown() test method / How to do it..., How to do it...
  • test flow
    • controlling / Introduction
    • test, synchronizing with implicit wait / Synchronizing a test with an implicit wait, How it works...
    • test, synchronizing with explicit wait / Synchronizing a test with an explicit wait, How it works...
    • test, synchronizing with custom-expected conditions / Synchronizing a test with custom-expected conditions, How it works...
    • element's presence, checking / Checking an element's presence, How to do it...
    • element's status, checking / Checking an element's status, How it works...
    • pop-up window, identifying by name attribute / Identifying and handling a pop-up window by its name, How to do it..., There is more...
    • pop-up window, handling by name attribute / Identifying and handling a pop-up window by its name, How to do it..., There is more...
    • pop-up window, handling by title attribute / Identifying and handling a pop-up window by its title, How it works...
    • pop-up window, identifying by title attribute / Identifying and handling a pop-up window by its title, How it works...
    • pop-up window, identifying by content attribute / Identifying and handling a pop-up window by its content, How it works...
    • pop-up window, handling by content attribute / Identifying and handling a pop-up window by its content, How it works...
    • JavaScript alerts, handling / Handling a simple JavaScript alert, How it works...
    • confirm box alert, handling / Handling a confirm box alert, How to do it..., How it works...
    • prompt box alert, handling / Handling a prompt box alert, How it works...
    • frames, identifying / Identifying and handling frames, How to do it..., How it works...
    • frames, handling / Identifying and handling frames, How to do it..., How it works...
    • frames, identifying by content / Identifying and handling frames by their content, How to do it..., How it works...
    • frames, handling by content / Identifying and handling frames by their content, How to do it..., How it works...
    • IFRAME, working with / Working with IFRAME, How to do it..., How it works...
  • testFrameByIndex() / How to do it...
  • testGoogleSearch() method
    • about / How to do it...
  • testHTML5VideoPlayer / How to do it...
  • testMultipleSelectList()test method / How to do it...
  • TestNG
    • about / Creating a data-driven test using TestNG
    • used, for creating data-driven test / Creating a data-driven test using TestNG, How to do it..., How it works...
  • tests
    • running / How to do it...
  • TestSetup() method / How to do it...
  • text, element
    • checking / Checking an element's text, How it works...
  • textContent attribute
    • about / How to do it...
  • Timeouts Interface
    • about / How it works...
  • timespan, between events
    • calculating / Measuring the response time using a timer
  • tryToKillByName() function / How it works...

U

  • UI state pseudo-classes
    • using / How to do it...
    • *enabled / How to do it...
    • *disabled / How to do it...
    • *checked / How to do it...
  • user action pseudo-classes
    • using / How to do it...

V

  • <video> element / Automating the HTML5 video player
  • Video playback / Video playback
  • video showing test execution
    • capturing / Introduction
  • videos of tests
    • recording, Monte Media Library used in Java / Recording videos of tests using Monte Media Library in Java, How to do it..., How it works...
    • recording, using Microsoft Expression Encoder 4 SDK in .NET / Recording videos of tests using Microsoft Expression Encoder 4 SDK in .NET, How to do it..., How it works...
    • recording, using Castro in Python / Recording videos of tests using Castro in Python, How to do it..., How it works...
  • VNC
    • enabling / Getting ready
    • installing / Getting ready

W

  • @When annotation / How it works...
  • wait.until() method
    • about / How it works...
  • Watir-WebDriver-Performance gem
    • about / Client-side performance testing with Watir-WebDriver-Performance in Ruby
    • used, for client-side performance testing / Client-side performance testing with Watir-WebDriver-Performance in Ruby, How to do it...
    • working / How it works...
  • WebElement class
    • about / There's more...
    • getText() method / Checking an element's text
  • WebElementExtender class / How to do it...
    • about / How it works...
  • web page stores
    • about / Web storage – testing local storage
  • WebTable constructor / How to do it...
  • WhenUserEneteredIntoThePayeeNameField method / How it works...
  • Windows processes
    • controlling / Controlling Windows processes, How it works...
  • Windows registry value
    • reading, from Selenium WebDriver / Reading a Windows registry value from Selenium WebDriver, How it works...
    • modifying, from Selenium WebDriver / Modifying a Windows registry value from Selenium WebDriver, How it works...
  • WindowsUtils class / How to do it...
  • workflow, data-driven approach
    • about / Data-driven approach – workflow
  • writeStringRegistryValue() method / How to do it...
  • writeTo() method / How it works...

X

  • XPath
    • about / Locating elements using XPath
    • used, for locating elements / Locating elements using XPath, How to do it...
    • partial match, performing on attribute values / How to do it...
    • working / How it works...
  • xpath() method / How it works...
  • XPath axis
    • used, for locating elements / How to do it...
    • ancestor / How to do it...
    • descendant / How to do it...
    • following / How to do it...
    • following-sibling / How to do it...
    • preceding / How to do it...
    • preceding-sibling / How to do it...
    • URL / How to do it...
  • XPath functions
    • starts-with() / How to do it...
    • ends-with() / How to do it...
    • contains() / How to do it...
lock icon The rest of the chapter is locked
Visually different images
CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
Selenium Testing Tools Cookbook
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Modal Close icon
Modal Close icon