Index
A
- Advanced User Interactions API
- about / Getting started with the API
- implementing / Using the API to solve difficult problems
- hover menus, working with / Working with hover menus
- drag and drop, working with / Working with drag and drop
- offsets, working with / Working with offsets
- drawbacks / It doesn't always work for me
- AMI (Amazon Machines Image)
- about / TeamCity
- Ansible
- asynchronous scripts
- about / What about asynchronous scripts?
- AutoIT
- about / So, what's next?, AutoIt
B
- boot2docker
- about / Getting started with boot2docker
- browser auto download
- about / Browser auto download
C
- Chef
- CLA (Contributor License Agreement) / Making changes to Selenium
- CloudBees
- URL / Jenkins
- continuous integration
- defining / Continuous integration is the key
- TeamCity / TeamCity
- Jenkins / Jenkins
D
- $(docker ps -a) / Spinning up a Selenium Grid with Docker
- Docker
- about / Introducing Docker
- advantages / Introducing Docker
- Linux namespaces, using / Introducing Docker
- installing / Installing Docker
- Linux installation / Linux
- Windows installation / Windows / OS X
- OS X installation / Windows / OS X
- future / The future with Docker
- Docker containers
- starting up / Starting up Docker containers as part of the build
- Docker Maven plugin
- using / Using a Docker Maven plugin
- URL / Using a Docker Maven plugin
- Docker registry
- documentation
- about / Aiding the documentation effort
- references / Aiding the documentation effort
- documentation project
- domain-specific languages (DSLs)
- about / Tests are living documentation
- DriverFactory class / The explicit wait that never finds an element
- DRY (Don't Repeat Yourself)
- applying, to page objects / Why do you keep repeating yourself?
- DSL (domain-specific language) / Turning your page objects into a readable domain-specific language
E
- exceptions
- defining, as oracles / Are exceptions oracles?
- NoSuchElementException / NoSuchElementException
- NoSuchFrameException / NoSuchFrameException
- NoSuchWindowException / NoSuchWindowException
- ElementNotVisibleException / ElementNotVisibleException
- StaleElementReferenceException / StaleElementReferenceException
- InvalidElementStateException / InvalidElementStateException
- UnsupportedCommandException / UnsupportedCommandException
- UnreachableBrowserException / UnreachableBrowserException
- SessionNotFoundException / SessionNotFoundException
- ExpectedConditions class / Using explicit waits
- explicit waits
- breaking / Can it break explicit waits?
- problems, scenarios / The explicit wait that never finds an element, Wait, it's a trap!
- using / Using explicit waits
- extensible page objects
- creating / Creating extensible page objects
- external variables
- machine specification / Machine specifications
- server specification / Server specifications
- JavaScript engine performance / The JavaScript engine performance
- networks / Networks
F
- file downloads, with Selenium
- about / Downloading files with Selenium, Downloading a file with the help of Selenium, But that's not the same as clicking on a link and downloading the file…, Checking whether we have downloaded the correct file
- scenario / The scenario
- problem / The problem
- automated checks, writing / So, what's next?
- download functionality, working / Do you really need to download that file?
- links, checking for validity / Checking whether links are valid
- prerequisites / What if I do need to download the file?, The Java Robot class, Browser auto download
- fluent interfaces
- reference link / Fluent page objects
- fluent page objects
- about / Fluent page objects
- fluent waits
- about / FluentWaits – the core of explicit waits
- functions / Functions
- predicates / Predicates
G
- GhostDriver
- adding / Going headless
- Git
- GitHub Mac client
- GitHub Windows client
- Guava Libraries
- GUID (Globally Unique Identifier)
H
- hooks
- about / SVN
- HTML5 drag-and-drop implementation
- HttpOnly cookies / Downloading a file with the help of Selenium
I
- implicitly wait timeout mechanism
- about / The implicit wait timeout
- issues / Can it slow my tests down?, The explicit wait that never finds an element
- issues, solution / The solution
- installation
- Docker / Installing Docker
J
- Javadoc, for Actions class
- reference / Getting started with the API
- Java PageFactory class
- Java Robot class
- about / The Java Robot class
- JavaScript executor
- about / Introducing the JavaScript executor
- limitations / Let's not get carried away
- working with / So, what should we do with it?
- JavaScript libraries
- using / Can I use JavaScript libraries?
- injecting / Should I inject JavaScript libraries?
- Jenkins
- JMeter / Writing performance tests with Selenium
L
- Linux namespaces
- pid / Introducing Docker
- net / Introducing Docker
- ipc / Introducing Docker
- mnt / Introducing Docker
- uts / Introducing Docker
- listeners
- creating / A picture paints a thousand words
- live templates
- reference link / Using the PageFactory annotations
- LNMP (Linux, Nginx, MySQL, and PHP) setup / Introducing Docker
M
- Maven
- multiple browser support
- about / Multiple browser support
- Firefox / Firefox
- Chrome / Chrome
- Internet Explorer / Internet Explorer
- Safari / Safari
- Opera / Opera
N
- namespaces / Introducing Docker
- network traffic
P
- page
- loading, time / I've timed it and I know it takes 5 seconds for the page to load
- PageFactory annotations
- using / Using the PageFactory annotations
- proxied objects, initializing / Initializing the proxied objects
- page objects
- DRY (Don't Repeat Yourself), applying to / Why do you keep repeating yourself?
- about / Starting out with page objects
- turning, into readable domain-specific language / Turning your page objects into a readable domain-specific language
- parallel tests
- with TestNG / Parallel tests with TestNG
- penetration testing
- performing, with Selenium / Penetration testing with Selenium
- performance tests
- writing, with Selenium / Writing performance tests with Selenium
- prerequisites, for file downloads with Selenium
- about / What if I do need to download the file?
- AutoIt / AutoIt
- Java Robot class / The Java Robot class
- browser auto download / Browser auto download
- existing code, extending / Extending our existing code
- Puppet
R
- readable domain-specific language
- page objects, turning into / Turning your page objects into a readable domain-specific language
S
- Sauce Labs
- SCM systems
- defining / Baking in reliability
- Git / Git
- SVN / SVN
- Selenium
- using / I just want Selenium to do it for me
- page load timeout mechanism / The page load timeout
- script timeout mechanism / The script timeout
- implicitly wait timeout mechanism / The implicit wait timeout
- used, for writing performance tests / Writing performance tests with Selenium
- used, for performing penetration testing / Penetration testing with Selenium
- about / Selenium – the future of browser and device testing
- bugs, fixing / If Selenium is the future, how can I help?
- commit history, keeping clean / Keeping your history clean
- Selenium-Grid
- spinning up, with Docker / Spinning up a Selenium Grid with Docker
- test, running against / Running tests against our new Selenium Grid
- Selenium code base
- forking / Making changes to Selenium
- Selenium Grid
- used, for extending capabilities / Extending our capabilities by using a Selenium Grid
- Selenium WebDriver API
- separation of concerns, with page objects / Using page objects to ensure good separation of concerns
- set up
- obtaining, for contributing to Selenium repository / Getting set up to contribute to a Selenium repository
- site
- manual testing / So, what do we do?
- source code management (SCM)
- about / Baking in reliability
- Sphinx
- stack traces
- defining / Don't be afraid of the big bad stack trace
- SunSpider JavaScript benchmark
T
- TeamCity
- test code
- having in same repository, as application code / Location, location, location
- TestNG
- about / Parallel tests with TestNG
- test project
- building, with Apache Maven / Building our test project with Apache Maven
- test reliability
- tests
- running / Making it easy for developers to run tests
- running in parallel / Running your tests in parallel
- implementing / Tests are living documentation
- running, against Selenium-Grid / Running tests against our new Selenium Grid
- TortoiseGit
V
- VI cheat sheet
- VirtualBox
- URL / Introducing Docker
- VM (virtual machine)
- about / Introducing Docker
- VMware
- URL / Introducing Docker
W
- wait problem
- about / Are we nearly ready yet?
- WebDriver architecture
- WebDriver binaries
- downloading automatically / Downloading the WebDriver binaries automatically
- WebDriver tool for IE11
Z
- Zed Attack Proxy (ZAP)