Introduction
Let's build a reliable Selenium test suite
()
1. Selenium Sessions for Real Apps
Starting sessions with a WebDriver factory
()
Configuring Selenium capabilities
()
Tuning browser options
()
Logging Selenium sessions
()
2. Locating Dynamic Elements with Confidence
Choosing web element locators
()
Using XPath locators
()
Recognizing brittle locators
()
Managing WebElement lists
()
Avoiding stale element errors
()
Accessing Shadow DOM elements
()
3. Complex Forms and Real UI Widgets
Automating native and custom dropdowns
()
Uploading and downloading files
()
Creating element wrappers
()
Designing test data wrappers
()
Wrapping pages with page objects
()
4. Advanced Actions
Using input devices with the Actions class
()
Simulating keyboard typing
()
Simulating mouse movement and clicks
()
Scrolling pages and frames
()
5. Browsing Contexts and Prompts
Switching in and out of frames
()
Managing multiple windows
()
Handling JavaScript user prompts
()
Executing JavaScript commands
()
Setting state with cookies
()
6. Flakiness and Synchronization
Using implicit waits effectively
()
Building explicit wait functions
()
Configuring fluent waits
()
Applying expected conditions
()
7. Running with Docker
Running tests with Docker
()
Integrating Docker tests into CI pipeline
()