Book Image

Learning Selenium Testing Tools - Third Edition

Book Image

Learning Selenium Testing Tools - Third Edition

Overview of this book

Table of Contents (22 chapters)
Learning Selenium Testing Tools Third Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Index

A

  • abstract class
    • about / An abstract class
    • example, in Java program / An example of a Java program with an abstract class
  • abstract classes, versus interfaces
    • URL / Abstract classes compared with interfaces
  • action driven approach, Test Automation Frameworks Evolution
    • about / Action driven approach
    • advantages / Advantages
    • disadvantages / Disadvantages
  • Actions class
    • about / The Actions class
    • drag and drop / Drag and drop
    • element, moving to offset / Moving an element to an offset
    • context click / The context click
    • clicking on multiple items, in select element / Clicking on multiple items in a select element
    • mouse, holding down / Clicking and holding down the mouse
    • mouse, clicking / Clicking and holding down the mouse
  • Actions method chain
    • creating, for dragging and dropping / Creating an Actions method chain for dragging and dropping
  • Advanced User Interactions API
    • about / What is Advanced User Interactions API?
    • keyboard interface / Keyboard
    • mouse interface / Mouse
  • Agile environment
    • about / Drag and drop
  • AJAX (Asynchronous JavaScript And XML) / Selenium tests against AJAX applications
  • AJAX applications
    • versus Selenium tests / Selenium tests against AJAX applications
    • working with / Working with AJAX applications
  • Android
    • working with / Working with Android
    • test, creating for / Creating a test for Android
  • Android driver
    • using / Using the Android driver
  • Android SDK
    • URL, for downloading / Creating an emulator
  • Android Server
    • installing / Installing the Android Server
  • application cache
    • about / Working with application cache
    • working with / Working with application cache
    • current status, obtaining of / Getting the current status of application cache
  • applicationLib folder
    • WebDriver / The project folder structure
    • log result / The project folder structure
    • utilities / The project folder structure
  • Application Specific Scripts / Hybrid architecture design
  • arithmetic operators / Arithmetic operators
  • assert command
    • tests, validating with / Validating a test with assert and verify
  • attribute content
    • Partial match, performing on / Performing partial match on attribute content
  • attributes
    • working with / Working with elements and their attributes
    • finding, by elements / Finding elements by their attributes
  • attributes content
    • partial matches, performing on / Performing partial matches on attributes content
  • AUT (Application Under Test)
    • about / Hybrid architecture design
  • automated test case
    • forming, keywords used / Form an automated test case using keywords
    • forming, steps / Steps to form an automated test case
  • automation, with Framework
    • effects / Automation with Framework
  • automation, without framework
    • effects / Automation without framework
  • automation framework structure
    • about / The automation framework structure
    • Config / The automation framework structure
    • Testdata / The automation framework structure
    • Page Object Factory / The automation framework structure
    • Libraries / The automation framework structure
    • Reports / The automation framework structure
    • Logs / The automation framework structure
    • TestNG.XML / The automation framework structure
  • automation suite
    • running / Run the automation suite
    • execution, starting / Execution starts and ends
    • execution, ending / Execution starts and ends
  • AVDs
    • URL / Creating an emulator
  • axis name
    • ancestor / Using the XPath axis
    • descendant / Using the XPath axis
    • following / Using the XPath axis
    • following-sibling / Using the XPath axis
    • parent / Using the XPath axis
    • preceding / Using the XPath axis
    • preceding-Sibling / Using the XPath axis

B

  • base64 strings
    • images, capturing as / Image capturing as base64 strings
  • base64 version, of images
    • capturing / Capturing the base64 version of images
  • bit shift operators / Bitwise and bit shift operators
  • bitwise operators / Bitwise and bit shift operators
  • break keyword / The break keyword
  • browser connections
    • interacting with / Interacting with browser connections
    • status, verifying / Checking the browser status
    • setting / Setting the browser connection
  • BrowserMob Proxy
    • working with / Working with BrowserMob Proxy
    • starting / Creating and starting a proxy
    • creating / Creating and starting a proxy
  • Bugzilla
    • URL / Selecting multiple items on a select item
  • bytes
    • screenshot, saving to / Saving the screenshot to bytes
    • images, saving to / Saving images to bytes

C

  • charAt() function / The charAt() function
  • checked exceptions / Types of exceptions
  • child class
    • about / Inheritance
  • child class object / Polymorphism
  • child nodes
    • used, for finding element / Using child nodes to find the element
  • Chrome
    • reference link, for switches / ChromeOptions
  • ChromeDriver
    • working with / Working with ChromeDriver
  • ChromeOptions / ChromeOptions
  • class
    • about / Class
  • coding standards
    • URL / Why are coding standards required?
  • Collection interface
    • about / What is a Collections framework?
  • collection interfaces
    • Collection / What is a Collections framework?
    • Set / What is a Collections framework?
  • collections
    • about / Collections
  • collections framework
    • about / What is a Collections framework?
    • interfaces / What is a Collections framework?
    • implementations / What is a Collections framework?
    • algorithms / What is a Collections framework?
    • URL / What is a Collections framework?
    • list / What is a Collections framework?
    • SortedSet / What is a Collections framework?
    • reference link / What is a Collections framework?
  • comments
    • creating, in tests / Creating comments in your tests
  • Compiler / How does Java work?
  • conditional operators / Conditional operators
  • Config Engine
    • about / Hybrid architecture design
  • Configurations, Hybrid architecture design / Hybrid architecture design
  • constructors
    • about / Constructors
    • example, in Java program / An example of a Java program with a constructor chain
  • context click
    • about / The context click
    • performing / Doing a context click
  • continue keyword / The continue keyword
  • CSS
    • elements, finding by / Finding elements by CSS
    • nth element, finding with / Finding the nth element with CSS
  • CSS class attributes
    • using, in CSS selectors / Using CSS class attributes in CSS selectors
  • CSS selectors
    • about / CSS selectors
    • CSS class attributes, using in / Using CSS class attributes in CSS selectors
    • element IDs, using in / Using element IDs in CSS selectors
  • current status
    • obtaining, of application cache / Getting the current status of application cache

D

  • data driven approach, Test Automation Frameworks Evolution
    • about / Data driven approach
    • advantages / Advantages
    • disadvantages / Disadvantages
  • Data Engine
    • about / Hybrid architecture design
  • data type
    • about / Data types
    • primitive data type / Data types
    • non-primitive data type / Data types
  • decision and control statements
    • about / Decision and control statements
    • if statement / The if statement
    • if$$$else statement / The if...else statement
    • if$$$else if$$$else statement / The if...else if...else statement
    • nested if$$$else statement / The nested if...else statement
    • switch statement / The switch statement
  • defaults
    • Selenium server, adding with / Adding a server with the defaults
  • developer account, Apple
    • URL / Setting up the simulator
  • direct XPath
    • using, in test / Using direct XPath in your test
    • elements, finding by / Finding elements by direct XPath
  • do$$$while loop / The do...while loop
  • DOM (Document Object Model) / Understanding Selenium IDE
  • drag and drop
    • example / Drag and drop
  • Driver Engine
    • about / Hybrid architecture design
    • Data Engine / Hybrid architecture design
    • Config Engine / Hybrid architecture design
    • Page Object Handler / Hybrid architecture design
  • DSL (Domain-specific language) / Page objects

E

  • Eclipse
    • downloading / Downloading and installing Eclipse
    • installing, on Windows / Downloading and installing Eclipse
    • WebDriver, configuring with / Configuring WebDriver with Eclipse
  • Eclipse IDE
    • about / Environment specifications
  • Eclipse IDE, for Java EE Developers Edition
    • URL, for downloading / Downloading and installing Eclipse
  • Eclipse IDE, with Java project
    • setting up, for WebDriver / Setting up Eclipse IDE with Java project for Selenium WebDriver and TestNG
    • setting up, for TestNG / Setting up Eclipse IDE with Java project for Selenium WebDriver and TestNG
  • Eclipse workspace
    • Sample Java project, importing in / Importing the sample Java project in the Eclipse workspace
  • element
    • finding, by text / Finding an element by the text it contains
    • finding, child nodes used / Using child nodes to find the element
    • finding, sibling nodes used / Using sibling nodes to find the element
    • finding, by inner text / Finding an element by its inner text or partial text
    • finding, by partial text / Finding an element by its inner text or partial text
    • moving, to offset / Moving an element to an offset
    • moving, with drag and drop by offset / Moving an element with a drag and drop by offset
  • element, finding on page by ClassName
    • about / Finding an element on the page by its ClassName
    • findElementByClassName() method used / Using findElementByClassName()
  • element, finding on page by ID
    • about / Finding an element on the page by its ID
    • findElementById() method used / Using findElementById()
  • element, finding on page by link text
    • about / Finding an element on the page by its link text
    • findElementByLinkText() method used / Using findElementByLinkText()
  • element, finding on page by name
    • about / Finding an element on the page by its name
    • findElementByName() method used / Using findElementByName()
  • element, finding on page by XPath
    • about / Finding an element on the page by its XPath
    • findElementByXPath() method used / Using findElementByXPath()
  • element attributes
    • using, in XPath queries / Using element attributes in XPath queries
  • element existence
    • finding, without throwing an error / Finding if an element exists without throwing an error
  • element IDs
    • using, in CSS selectors / Using element IDs in CSS selectors
  • elements
    • locating, by ID / Locating elements by ID
    • finding, by ID / Finding elements by ID
    • moving, on page / Moving elements on the page
    • finding, by name / Finding elements by name
    • finding, by link text / Finding elements by link text
    • finding, by accessing DOM via JavaScript / Finding elements by accessing the DOM via JavaScript
    • finding, by XPath / Finding elements by XPath
    • finding, by direct XPath / Finding elements by direct XPath
    • XPath axis, leveraging with / Leveraging the XPath axis with elements
    • finding, by CSS / Finding elements by CSS
    • working with / Working with elements and their attributes
    • finding, by attributes / Finding elements by their attributes
    • finding / Finding elements
    • finding, generic method used / Finding elements using a more generic method
  • elements, finding on page
    • tips and tricks / Tips and tricks
  • elements, finding on page by ClassName
    • about / Finding elements on the page by their ClassName
    • findElementsByClassName() method used / Using findElementsByClassName()
  • elements, finding on page by ID
    • about / Finding elements on the page by their ID
    • findElementsById() method used / Using findElementsById()
  • elements, finding on page by link text
    • about / Finding elements on the page by their link text
    • findElementsByLinkText() method used / Using findElementsByLinkText()
  • elements, finding on page by name
    • about / Finding elements on the page by their name
    • findElementsByName() method used / Using findElementsByName()
  • elements, finding on page by XPath
    • about / Finding elements on the page by their XPath
    • findElementsByXpath() method used / Using findElementsByXpath()
  • emulator
    • about / Emulator
    • creating / Creating an emulator
  • emulator, for Opera Mobile
    • download link, for Windows / Running with OperaDriver on a mobile device
    • download link, for Mac / Running with OperaDriver on a mobile device
    • download link, for Linux 64 bit Deb / Running with OperaDriver on a mobile device
    • download link, for tarball version of Linux 64 bit Deb / Running with OperaDriver on a mobile device
    • download link, for Linux 32 bit Deb version / Running with OperaDriver on a mobile device
    • download link, for tarball version of Linux 32 bit Deb / Running with OperaDriver on a mobile device
  • encapsulation
    • about / Encapsulation
    • example, in Java program / An example of a Java program using encapsulation
  • environment
    • setting, for Selenium Remote Control / Setting the environment when starting Selenium Remote Control
  • equality operator / Equality and relational operators
  • equalsIgnoreCase() function / The equalsIgnoreCase() function
  • errors / Types of exceptions
  • exception
    • about / Exception handling
  • exception, types
    • checked exceptions / Types of exceptions
    • errors / Types of exceptions
    • runtime exceptions / Types of exceptions
  • exception handler components
    • about / Exception handler components
    • example / Exception handler components
  • exception handling
    • about / Exception handling
    • reference link / The throw keyword
  • explicit waits
    • about / Waiting for elements to appear on the page, Explicit waits
    • using, with Selenium WebDriver / Using explicit waits with Selenium WebDriver

F

  • file
    • screenshots, saving to / Saving a screenshot to file
  • File class
    • functionalities / Java IO
  • FileInputStream class
    • about / The FileInputStream class
  • FileOutputStream class
    • about / The FileOutputStream class
  • filters
    • adding, to name / Adding filters to the name
  • findElement() method
    • using / Using findElement()
  • findElementByClassName() method
    • used, for finding element on page by ClassName / Using findElementByClassName()
  • findElementById() method
    • used, for finding element on page by ID / Using findElementById()
  • findElementByLinkText() method
    • used, for finding element on page by link text / Using findElementByLinkText()
  • findElementByName() method
    • used, for finding element on page by name / Using findElementByName()
  • findElementByXPath() method
    • used, for finding element on page by XPath / Using findElementByXPath()
  • findElement Helper methods
    • using / Using findElement Helper methods
  • findElements() method
    • using / Using findElements()
  • findElementsByClassName() method
    • used, for finding elements on page by ClassName / Using findElementsByClassName()
  • findElementsById() method
    • used, for finding elements on page by ID / Using findElementsById()
  • findElementsByLinkText() method
    • used, for finding elements on page by link text / Using findElementsByLinkText()
  • findElementsByName() method
    • used, for finding elements on page by name / Using findElementsByName()
  • findElementsByXPath() method
    • used, for finding elements on page by XPath / Using findElementsByXpath()
  • Firebug
    • used, for finding IDs of element on page / Finding IDs of elements on the page with Firebug
  • Firefox add-on
    • installing / Installing a Firefox add-on
  • FirefoxDriver
    • working with / Working with FirefoxDriver
  • Firefox profile
    • preferences / Firefox profile preferences
  • first test
    • recording, with Selenium IDE / Recording your first test with Selenium IDE
  • FIT (Framework for Integrated Testing) / Getting acquainted with the Selenium IDE tool
  • folders, packtFramework
    • applicationLib / The project folder structure
    • driverInitiator / The project folder structure
    • genericLibrary / The project folder structure
    • pagefactory / The project folder structure
    • testdata / The project folder structure
    • testng.xml / The project folder structure
  • for each loop / The for each loop in Java
  • for loop / The for loop

G

  • generic method
    • used, for finding elements / Finding elements using a more generic method
  • grid
    • tests, running against / Running tests against the grid
    • tests, writing against / Writing tests against the grid

H

  • HTTP Archive (HAR) / Capturing network traffic
  • Hybrid, Test Automation Frameworks Evolution
    • about / Hybrid
    • environment specifications / Environment specifications
    • Excel file format / Environment specifications
    • XML file format / Environment specifications
    • architecture design / Hybrid architecture design
    • automation framework structure / The automation framework structure
    • project folder structure / The project folder structure
    • keyword, adding to Selenium automation framework / Adding a keyword to a Selenium automation framework
  • Hybrid architecture design
    • TestNG.XML / Hybrid architecture design
    • Driver Engine / Hybrid architecture design
    • Libraries / Hybrid architecture design
    • Test Data / Hybrid architecture design
    • Configurations / Hybrid architecture design
    • Page Object Factory / Hybrid architecture design
    • Reports / Hybrid architecture design
    • Logs / Hybrid architecture design

I

  • ID
    • elements, locating by / Locating elements by ID
    • elements, finding by / Finding elements by ID
  • IDE (Integrated Development Environment) / Environment specifications
  • IDs of elements, finding on page
    • Firebug used / Finding IDs of elements on the page with Firebug
  • if$$$else if$$$else statement / The if...else if...else statement
  • if$$$else statement / The if...else statement
  • if statement / The if statement
  • images
    • capturing, as base64 strings / Image capturing as base64 strings
    • saving, to bytes / Saving images to bytes
  • implicit waits
    • about / Waiting for elements to appear on the page, Implicit waits
    • using / Using implicit waits
  • information, from page
    • storing, in tests / Storing information from the page in the test
  • inheritance
    • about / Inheritance
    • example, in Java program / A Java program with an inheritance example
  • inner text
    • element, finding by / Finding an element by its inner text or partial text
  • installation, Android Server / Installing the Android Server
  • installation, Firefox add-on / Installing a Firefox add-on
  • installation, Selenium IDE / Installing Selenium IDE
  • installation, Selenium WebDriver Android Server / Installing the Selenium WebDriver Android Server
  • instances
    • adding, to Selenium Grid hub / Adding instances to the hub
  • instance variables
    • about / Instance variables
    • example / Instance variables
  • IntelliJ IDEA project
    • setting up / Setting up the IntelliJ IDEA project
  • interface
    • about / Interface
    • example, in Java program / An example of a Java program with an interface
  • InternetExplorerDriver
    • working with / Working with InternetExplorerDriver
  • Interpreter / How does Java work?
  • iOS
    • working with / Working with iOS
  • iOS devices
    • test, creating for / Creating a test for iOS devices
  • iOS simulation guide
    • URL / Setting up the simulator
  • iPhone driver
    • using / Using the iPhone driver

J

  • Java
    • about / About Java programming
    • functionalities / About Java programming
    • working / How does Java work?
  • Java 5 / The for each loop in Java
  • Java coding standards
    • about / Why are coding standards required?
  • Java environment
    • URL / Merging of two projects
  • Java IO
    • about / Java IO
    • FileOutputStream class / The FileOutputStream class
    • FileInputStream class / The FileInputStream class
  • Java libraries
    • about / Hybrid architecture design
  • Java operators
    • about / Java operators
    • simple assignment operator / A simple assignment operator
    • arithmetic operators / Arithmetic operators
    • unary operators / Unary operators
    • relational operators / Equality and relational operators
    • equality operator / Equality and relational operators
    • conditional operators / Conditional operators
    • type comparison operator / Type comparison operator
    • bit shift operators / Bitwise and bit shift operators
    • bitwise operators / Bitwise and bit shift operators
    • operator precedence / Operator precedence
  • Java program
    • example / A simple Java program example
    • inheritance example / A Java program with an inheritance example
    • abstract class example / An example of a Java program with an abstract class
    • overloading example / An example of a Java program with overloading
    • overriding example / An example of a Java program with overriding
    • encapsulation example / An example of a Java program using encapsulation
    • constructor chain example / An example of a Java program with a constructor chain
    • interface example / An example of a Java program with an interface
  • Java Virtual Machine (JVM) / How does Java work?
  • JDK 1.6
    • URL / Merging of two projects
  • JSON (JavaScript Object Notation) / Selenium tests against AJAX applications
  • JSON Wire Protocol
    • about / The JSON Wire Protocol

K

  • keyboard interface, Advanced User Interactions API
    • void sendKeys(CharSequence... keysToSend) method / Keyboard
    • void pressKey(Keys keyToPress) method / Keyboard
    • void releaseKey(Keys keyToRelease) method / Keyboard
  • keyword
    • adding, to Selenium automation framework / Adding a keyword to a Selenium automation framework
  • keyword driven method, Test Automation Frameworks Evolution
    • about / Keyword driven method
    • advantages / Advantages
    • disadvantages / Disadvantages
  • keywords
    • used, for forming automated test case / Form an automated test case using keywords

L

  • length() function / The length() function
  • Libraries, Hybrid architecture design
    • Java libraries / Hybrid architecture design
    • Selenium JAR files / Hybrid architecture design
    • Utilities / Hybrid architecture design
    • Application Specific Scripts / Hybrid architecture design
  • link text
    • elements, finding by / Finding elements by link text
  • LoadableComponent
    • about / LoadableComponent
    • using / Using LoadableComponent
  • LoadableComponent usage
    • Page Object, modifying for / Changing our Page Object to use LoadableComponent
  • localStorage
    • accessing / Accessing localStorage
  • local storage, WebStorage / Local storage
  • local variables
    • properties / Local variables
    • example / Local variables
  • loops
    • about / Loops
    • while loop / The while loop
    • do$$$while loop / The do...while loop
    • for loop / The for loop
    • for each loop / The for each loop in Java
    • break keyword / The break keyword
    • continue keyword / The continue keyword

M

  • Marionette
    • URL / Using the Android driver
  • mouse button
    • holding / Holding the mouse button down while moving the mouse
  • mouse interface, Advanced User Interactions API
    • void click(WebElement onElement) method / Mouse
    • void doubleClick(WebElement onElement) method / Mouse
    • void mouseDown(WebElement onElement) method / Mouse
    • void mouseUp(WebElement onElement) method / Mouse
    • void mouseMove(WebElement toElement) method / Mouse
    • void mouseMove (WebElement toElement, long xOffset, long yOffset) method / Mouse
    • void contextClick(WebElement onElement) method / Mouse
  • multiple items
    • selecting, on select item / Selecting multiple items on a select item
  • multiple windows
    • working with / Working with multiple windows
    • complex working with / Complex working with multiple windows

N

  • name
    • elements, finding by / Finding elements by name
    • filters, adding to / Adding filters to the name
  • narrowing, type casting
    • about / Narrowing
    • example / Example on widening and narrowing
  • nested if$$$else statement / The nested if...else statement
  • network traffic
    • capturing, of application / Capturing network traffic
  • non-primitive data type
    • about / Data types
  • nth element
    • finding, with CSS / Finding the nth element with CSS
  • nth element, of type
    • finding, XPath used / Using XPath to find the nth element of a type

O

  • objClick utility / The project folder structure
  • objects
    • about / Objects
  • objects, characteristics
    • about / Objects
    • state / Objects
    • behavior / Objects
    • identity / Objects
  • offset
    • element, moving to / Moving an element to an offset
  • Opera
    • references / OperaProfile
  • OperaDriver
    • working with / Working with OperaDriver
    • using, on Opera Mobile / Running with OperaDriver on a mobile device, Using OperaDriver on Opera Mobile
  • Opera Mobile
    • OperaDriver, using on / Running with OperaDriver on a mobile device, Using OperaDriver on Opera Mobile
  • OperaProfile
    • about / OperaProfile
  • operator precedence, Java operators / Operator precedence
  • overloading
    • about / Overloading
    • example, in Java program / An example of a Java program with overloading
  • overriding
    • about / Overriding
    • example, in Java program / An example of a Java program with overriding

P

  • package
    • about / Package
  • page
    • elements, moving on / Moving elements on the page
  • PageFactory
    • using / Using PageFactory
  • Page Factory
    • using, with Page Object / Using Page Factory with Page Object
  • Page Object
    • Page Factory, using with / Using Page Factory with Page Object
    • modifying, for LoadableComponent usage / Changing our Page Object to use LoadableComponent
  • Page Object Factory
    • about / Hybrid architecture design
  • Page Object Factory, Hybrid architecture design / Hybrid architecture design
  • Page Object Handler
    • about / Hybrid architecture design
  • Page Object pattern
    • used, for designing tests / Using the Page Object pattern to design tests
  • page objects
    • about / Page objects
    • test, setting up / Setting up the test
  • pages, AJAX
    • example / Working on pages with AJAX
  • parallel
    • tests, running in / Running tests in parallel, Getting our tests running in parallel
  • parameterization
    • about / Parameterization
    • Selenium IDE, configuring for / Selenium IDE Configuration
  • parent class
    • about / Inheritance
  • Partial match
    • performing, on attribute content / Performing partial match on attribute content
  • partial matches
    • performing, on attributes content / Performing partial matches on attributes content
  • partial text
    • element, finding by / Finding an element by its inner text or partial text
  • polymorphism
    • about / Polymorphism
    • overloading / Overloading
    • overriding / Overriding
  • primitive data type
    • about / Data types
  • private methods
    • Selenium steps, moving into / Moving Selenium steps into private methods to make tests maintainable
  • project folder structure
    • about / The project folder structure
    • config / The project folder structure
    • HTMLReport / The project folder structure
    • Lib / The project folder structure
    • logs / The project folder structure
    • src / The project folder structure
  • projects
    • merging / Merging of two projects

R

  • real device
    • simulator, setting up on / Setting up on a real device
  • Record/Playback, Test Automation Frameworks Evolution
    • about / Record/Playback
    • advantages / Advantages
    • disadvantages / Disadvantages
  • relational operators / Equality and relational operators
  • replace() function / The replace() function
  • Reports, Hybrid architecture design / Hybrid architecture design
  • runtime exceptions / Types of exceptions

S

  • Sample Java project
    • importing, in Eclipse workspace / Importing the sample Java project in the Eclipse workspace
  • screenshots
    • capturing / Capturing screenshots
    • saving, to bytes / Saving the screenshot to bytes
    • saving, to file / Saving a screenshot to file
  • select item
    • multiple items, selecting on / Selecting multiple items on a select item
  • Selenium
    • history / History of Selenium
    • URL, for examples / Writing tests against the grid
    • XVFB, using with / Using XVFB with Selenium
  • Selenium 2
    • about / Merging of two projects
  • Selenium API
    • about / History of Selenium
  • Selenium Atoms
    • about / Merging of two projects
  • Selenium automation framework
    • keyword, adding to / Adding a keyword to a Selenium automation framework
    • utilities, building for / Building your own utilities for the Selenium automation framework
    • configuring / Configuration and usage of the framework
    • using / Configuration and usage of the framework
  • Selenium Code
    • URL / Setting up the simulator
  • Selenium command
    • verifyElementPresent / Validating a test with assert and verify
    • assertElementPresent / Validating a test with assert and verify
    • verifyElementNotPresent / Validating a test with assert and verify
    • assertElementNotPresent / Validating a test with assert and verify
    • verifyText / Validating a test with assert and verify
    • assertText / Validating a test with assert and verify
    • verifyAttribute / Validating a test with assert and verify
    • assertAttribute / Validating a test with assert and verify
    • verifyChecked / Validating a test with assert and verify
    • assertChecked / Validating a test with assert and verify
    • verifyAlert / Validating a test with assert and verify
    • assertAlert / Validating a test with assert and verify
    • verifyTitle / Validating a test with assert and verify
    • assertTitle / Validating a test with assert and verify
    • waitForAlertNotPresent / Working with AJAX applications
    • waitForAlertPresent / Working with AJAX applications
    • waitForElementPresent / Working with AJAX applications
    • waitForElementNotPresent / Working with AJAX applications
    • waitForTextPresent / Working with AJAX applications
    • waitForTextNotPresent / Working with AJAX applications
    • waitForPageToLoad / Working with AJAX applications
    • waitForFrameToLoad / Working with AJAX applications
  • Selenium Core / Understanding Selenium IDE
  • Selenium design
    • URL, for article / History of Selenium
  • Selenium Grid
    • about / Understanding Selenium Grid
  • Selenium Grid 1
    • using, with YAML file / Using Selenium Grid 1 with your YAML file, Using Selenium Grid 1 configuration
    • configuration, using / Using Selenium Grid 1 configuration
  • Selenium Grid hub
    • about / The Selenium Grid hub
    • launching / Launching the hub
    • instances, adding to / Adding instances to the hub
  • Selenium IDE
    • about / Understanding Selenium IDE
    • installing / Installing Selenium IDE
    • URL, for download link / Installing Selenium IDE
    • rules, in creating tests / Rules in creating tests with Selenium IDE
    • first test, recording with / Recording your first test with Selenium IDE
    • configuring, for parameterization / Selenium IDE Configuration
    • source code, generating from / Generating source code from Selenium IDE
  • Selenium IDE comments
    • adding, to tests / Adding Selenium IDE comments
  • Selenium IDE tool
    • familiarizing with / Getting acquainted with the Selenium IDE tool
  • Selenium JAR files
    • about / Hybrid architecture design, The project folder structure
    • URL / The project folder structure
  • Selenium RC
    • URL / Understanding the WebDriver architecture
  • Selenium RC API
    • about / History of Selenium
  • Selenium Remote Control
    • adding, for different machines / Adding Selenium Remote Control for different machines, Selenium Server for different machines
    • environment, setting for / Setting the environment when starting Selenium Remote Control
  • Selenium server
    • about / The Selenium server
    • adding, with defaults / Adding a server with the defaults
  • Selenium Server
    • adding / Adding Selenium Server to do specific browser tasks on specific operating systems
  • Selenium steps
    • moving, into private methods / Moving Selenium steps into private methods to make tests maintainable
  • Selenium tests
    • versus AJAX applications / Selenium tests against AJAX applications
  • Selenium WebDriver / What you cannot record
    • Eclipse IDE with Java project, setting up for / Setting up Eclipse IDE with Java project for Selenium WebDriver and TestNG
    • explicit waits, using with / Using explicit waits with Selenium WebDriver
  • Selenium WebDriver Android Server
    • installing / Installing the Selenium WebDriver Android Server
  • Selenium WebDriver language
    • URL, for downloading / Downloading WebDriver JAR files
  • sessionStorage
    • accessing / Accessing sessionStorage
  • session storage, WebStorage / Session storage
  • setEditField utility / The project folder structure
  • Set interface
    • about / What is a Collections framework?
  • sibling nodes
    • used, for finding elements / Using sibling nodes to find the element
  • simple assignment operator / A simple assignment operator
  • simulator
    • setting up / Setting up the simulator
    • setting up, on real device / Setting up on a real device
  • Sizzle
    • about / CSS selectors
  • source code
    • generating, from Selenium IDE / Generating source code from Selenium IDE
  • SPI (Stateless Programming Interface) / The WebDriver SPI
  • static keyword
    • about / Class/static variables
  • static variables
    • about / Class/static variables
    • example / Class/static variables
  • String class, functions
    • about / String class functions
    • charAt() / The charAt() function
    • equalsIgnoreCase() / The equalsIgnoreCase() function
    • length() / The length() function
    • replace() / The replace() function
    • substring() / The substring() function
    • toLowerCase() / The toLowerCase() function
    • toUpperCase() / The toUpperCase() function
    • trim() / The trim() function
    • URL / The trim() function
  • subclass
    • about / Inheritance
  • substring() function / The substring() function
  • superclass
    • about / Inheritance
  • supermost class
    • about / Inheritance
  • switch statement / The switch statement

T

  • TC (Test Case) / Form an automated test case using keywords
  • test
    • direct XPath, using in / Using direct XPath in your test
    • creating, for Android / Creating a test for Android
    • updating, for Android / Using the Android driver
    • creating, for iOS devices / Creating a test for iOS devices
  • Test Automation Frameworks Evolution
    • about / Test Automation Frameworks Evolution
    • Record/Playback / Record/Playback, Disadvantages
    • action driven approach / Action driven approach, Disadvantages
    • data driven approach / Data driven approach, Disadvantages
    • keyword driven method / Keyword driven method, Advantages
    • Hybrid / Hybrid
  • testdata, excel spreadsheets
    • Master.xls / The project folder structure
    • testng.xml / The project folder structure
  • Test Data, Hybrid architecture design / Hybrid architecture design
  • TestNG
    • Eclipse IDE with Java project, setting up for / Setting up Eclipse IDE with Java project for Selenium WebDriver and TestNG
    • about / Environment specifications
  • TestNG.XML / Hybrid architecture design
  • TestNG plug-in installation, Eclipse
    • about / TestNG plug-in installation for Eclipse
    • steps / Steps for installation
  • tests
    • validating, with assert command / Validating a test with assert and verify
    • validating, with verify command / Validating a test with assert and verify
    • comments, creating in / Creating comments in your tests
    • Selenium IDE comments, adding to / Adding Selenium IDE comments
    • information from page, storing in / Storing information from the page in the test
    • debugging / Debugging tests
    • saving / Saving tests
    • cannot be tested applications / What you cannot record
    • designing, Page Object pattern used / Using the Page Object pattern to design tests
    • running, against grid / Running tests against the grid
    • writing, against grid / Writing tests against the grid
    • running, in parallel / Running tests in parallel, Getting our tests running in parallel
    • running, in XVFB / Running tests in XVFB
  • tests, Selenium IDE
    • rules, for creating / Rules in creating tests with Selenium IDE
  • tests, to Selenium WebDriver
    • converting, WebDriverBackedSelenium used / Converting tests to Selenium WebDriver using WebDriverBackedSelenium
  • test suites
    • creating / Creating test suites
  • text
    • element, finding by / Finding an element by the text it contains
  • this keyword / The this keyword
  • throw keyword
    • about / The throw keyword
  • toLowerCase() function / The toLowerCase() function
  • toUpperCase() function / The toUpperCase() function
  • trim() function / The trim() function
  • type casting
    • about / Type casting
    • widening / Widening
    • narrowing / Narrowing
  • type comparison operator / Type comparison operator

U

  • unary operators / Unary operators
  • Utilities / Hybrid architecture design
  • utilities
    • building, for Selenium automation framework / Building your own utilities for the Selenium automation framework

V

  • variables
    • about / Data types and variables in Java, Variables
    • local variables / Local variables
    • instance variables / Instance variables
    • static variables / Class/static variables
  • verify command
    • tests, validating with / Validating a test with assert and verify

W

  • WebDriver
    • configuring, with Eclipse / Configuring WebDriver with Eclipse
  • WebDriver API
    • about / The WebDriver API
    • URL / The WebDriver API
  • WebDriver architecture
    • about / Understanding the WebDriver architecture
    • WebDriver API / The WebDriver API
    • WebDriver SPI / The WebDriver SPI
    • JSON Wire Protocol / The JSON Wire Protocol
    • Selenium server / The Selenium server
  • WebDriverBackedSelenium
    • about / WebDriverBackedSelenium
    • used, for converting tests to Selenium WebDriver / Converting tests to Selenium WebDriver using WebDriverBackedSelenium
  • WebDriver JAR files
    • downloading / Downloading WebDriver JAR files
  • WebDriver SPI
    • about / The WebDriver SPI
  • WebStorage
    • working with / Working with WebStorage
    • local storage / Local storage
    • session storage / Session storage
  • while loop / The while loop
  • widening, type casting
    • about / Widening
    • example / Example on widening and narrowing
  • Windows
    • Eclipse, installing on / Downloading and installing Eclipse
  • windows
    • multiplying / Multiplying windows
  • WYSIWYG editor / Moving an element with a drag and drop by offset

X

  • XPath
    • elements, finding by / Finding elements by XPath
    • used, for finding nth element of type / Using XPath to find the nth element of a type
  • XPath axis
    • leveraging, with elements / Leveraging the XPath axis with elements
    • using / Using the XPath axis
    • working with / Using the XPath axis
  • XPath queries
    • element attributes, using in / Using element attributes in XPath queries
  • XVFB
    • using, with Selenium / Using XVFB with Selenium
    • URL, for setting up / Setting up XVFB server
    • tests, running in / Running tests in XVFB
  • XVFB server
    • setting up / Setting up XVFB server

Y

  • YAML file
    • Selenium Grid 1, using with / Using Selenium Grid 1 with your YAML file, Using Selenium Grid 1 configuration