Practical Selenium with Java for New SDETs
Master the essentials of Selenium with Java in just 6 hours, building robust and maintainable test automation frameworks crucial for your SDET career.
...
Share
Setting Up Your Selenium Automation Environment
Unit 1: Project Setup Essentials
Why Automate?
Java & IDE Setup
Maven: Project Power-Up
Creating Your Maven Project
Adding Selenium to Maven
Unit 2: Driver Management & Setup
Driver Challenges
WebDriverManager Intro
Integrating WebDriverManager
WebDriverManager in Action
First WebDriver Instance
Unit 3: Your First Selenium Script
Navigating the Web
Getting Page Info
Closing the Browser
Your First Selenium Test
Troubleshooting Tips
Mastering Selenium Locators
Unit 1: Introduction to Locators
Why Locators Matter
ID: The Unique Finder
Name: The Form Field Friend
Class Name: Grouping Elements
Tag Name: Broad Strokes
Unit 2: Locating Links and CSS Selectors
LinkText: Exact Match
PartialLinkText: Flexible Match
CSS Selectors: The Basics
CSS Selectors: Attributes
CSS Selectors: Hierarchy
Unit 3: Mastering XPath
XPath: The Absolute Path
XPath: The Relative Path
XPath: Text & Contains
XPath: Advanced Techniques
Choosing the Best Locator
Performing Common Web Element Interactions
Unit 1: Basic Element Interactions
Clicking Buttons & Links
Typing Text into Fields
Clearing Text from Fields
Unit 2: Interacting with Selection Elements
Handling Checkboxes
Handling Radio Buttons
Dropdowns: Select by Visible Text
Dropdowns: Select by Value
Dropdowns: Select by Index
Getting Selected Option
Getting All Options
Unit 3: Advanced Element Interactions
Submitting Forms
Getting Element Text
Getting Element Attributes
Checking Element State
Getting Element CSS Values
Implementing Robust Waiting Strategies
Unit 1: Understanding the Need for Waits
Why Do We Need Waits?
Selenium's No Such Element
Static Waits: Thread.sleep()
Unit 2: Implicit Waits
Implicit Wait Basics
Setting Implicit Waits
Implicit Wait in Action
Unit 3: Explicit Waits: WebDriverWait
Explicit Wait Fundamentals
ExpectedConditions Overview
Waiting for Element Visibility
Waiting for Clickability
Other Useful Conditions
Unit 4: Fluent Waits
Fluent Wait: The Advanced Wait
Configuring Fluent Waits
Fluent Wait in Action
Unit 5: Choosing the Right Strategy
Wait Strategy Comparison
Best Practices for Waits
Handling Advanced Browser Interactions
Unit 1: Mastering JavaScript Dialogs
What are JS Dialogs?
Handling Simple Alerts
Confirmation Dialogs
Prompt Dialogs
Common Alert Issues
Unit 2: Navigating Frames and Windows
What are Frames?
Switching to Frames
Back from Frames
Multiple Windows & Tabs
Switching Windows
Unit 3: Browser Navigation and Management
Closing Windows & Tabs
Basic Browser Actions
Navigating to URLs
Window Sizing
Browser Info
Structuring Tests with TestNG
Unit 1: Introduction to TestNG
Why TestNG?
Setting Up TestNG
Your First TestNG Test
Unit 2: TestNG Annotations for Flow Control
Before & After Methods
Before & After Class
Before & After Test
Before & After Suite
Unit 3: TestNG Assertions and Reporting
Validating with Assertions
Soft vs. Hard Assertions
Grouping Tests
Unit 4: Advanced TestNG Features
Parameterizing Tests
Running Tests in Parallel
TestNG XML Suite
Executing Test Suites
Listeners for Reporting
Applying the Page Object Model (POM)
Unit 1: Introduction to Page Object Model
Why POM?
What is Page Object Model?
Benefits of POM
Unit 2: Designing Page Object Classes
Page Object Structure
Element Identification
Page Methods
Unit 3: Implementing POM in Tests
Your First Page Object
Using Page Objects in Tests
Refactoring to POM
Unit 4: Advanced POM Concepts
Page Factory
Base Page Class
Handling Multiple Pages
Unit 5: Building a POM Framework
Framework Structure
Test Base Class
Data-Driven POM
Cross-Browser and Headless Test Execution
Unit 1: Introduction to Cross-Browser Testing
Why Cross-Browser?
Browser Driver Setup
Chrome Browser Setup
Firefox Browser Setup
Edge Browser Setup
Unit 2: Parameterizing Browser Execution
Basic Browser Parameter
TestNG Parameters
TestNG Suites for Browsers
Unit 3: Headless Browser Testing
What is Headless?
Chrome Headless Setup
Firefox Headless Setup
Edge Headless Setup
Headless & Screenshots
Headless & CI/CD
Cross-Browser & Headless