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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Selenium RC
- 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
- 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