Important preliminary points
Time for action – installing Selenium IDE
Important note: Rules for automation
Updating a test to assert items are on the page
Comments
Multiplying windows
Time for action – complex working with multiple windows
Time for action – working on pages with AJAX
Storing information from the page in the test
Debugging tests
Test Suites
Saving tests
Important preliminary points
Time for action - finding IDs of elements on the page with Firebug
Moving elements on the page
Adding filters to the name
Time for action - finding elements by accessing the DOM via JavaScript
Using direct XPath in your test
Using XPath to find the nth element of a type
Doing a partial match on attribute content
Using XPath Axis to find elements
CSS selectors
Using child nodes to find the element
Using CSS class attributes in CSS selectors
Finding elements by their attributes
Time for action - finding the nth element with CSS
Important preliminary points
Architecture
WebDriver SPI
Selenium server
How to set up your Java environment
Important preliminary points
Time for action – setting up the test
maintainable
Using Page Factories with Page Objects
LoadableComponent
Important preliminary points
Finding an element on the page by its ID
Finding elements on the page by their ID
Finding an element on the page by its name
Finding elements on the page by their name
Finding an element on the page by their ClassName
Finding elements on the page by their ClassName
Finding an element on the page by their XPath
Finding elements on the page by their XPath
Finding an element on the page by its link text
Finding elements on the page by their link text
Finding elements using a more generic method
Time for action – using findElements()
Finding if an element exists without throwing an error
Implicit waits
Explicit waits
Important preliminary points
Time for action – loading the FirefoxDriver
Time for action – setting Firefox preferences
Time for action – installing the add-on
Time for action – starting Google Chrome or Chromium
Time for action – using ChromeOptions
Time for action – starting Opera
Time for action – working with OperaProfile
Time for action – working with Internet Explorer
Important preliminary points
Emulator
Installing the Selenium WebDriver Android Server
Creating a test for Android
Running with OperaDriver on a mobile device
Working with iOS
Time for action – setting up on a real device
Time for action – using the iPhone driver
Understanding Selenium Grid
Time for action – launching the hub
Time for action – adding a server with the defaults
Time for action – adding Selenium server for different machines
operating systems
Remote Control
Time for action – using Selenium Grid configuration
Time for action – writing tests against the grid
Time for action – getting our tests running in parallel
Important preliminary points
Keyboard
Actions
Time for action – creating an Actions chain for dragging and dropping
Time for action – moving an element with a drag-and-drop by offset
Time for action – doing a context click
Time for action – selecting multiple items on a select item
Time for action – holding the mouse button down while moving the mouse
Important preliminary points
Time for action – getting the current status of application cache
Seeing if the browser is online
Setting the browser offline or online
Working with WebStorage
Time for action – accessing localStorage
Time for action – accessing sessionStorage
Important preliminary points
Capturing base version of images
Saving the screenshot to bytes
Saving screenshots to files
Using XVFB with Selenium
Running tests in XVFB
Working with BrowserMob Proxy
Time for action – starting the proxy
Time for action – capturing network traffic