Selenium with Java Complete Course
Module 1: Introduction to Selenium WebDriver
- 1. What is Selenium and WebDriver?
- 2. Selenium Components: Selenium WebDriver, Grid, IDE, and RC.
- 3. Why Selenium for Automation Testing?
- 4. Supported Browsers and Platforms
- 5. Installation and Setup (Java + Selenium)
Module 2: Basic Selenium WebDriver Commands
- 1. Launching a Browser
- 2. Navigating to URLs
- 3. Locating Web Elements
- 4. Performing Actions: Click, Send Keys, etc.
- 5. Handling Pop-ups and Alerts
Module 3: Selenium Locators and Interactions
- 1. XPath: Basics, Advanced (contains, text, etc.)
- 2. CSS Selectors: Basics, Advanced (nth-child, etc.)
- 3. ID, Name, Class Name, Tag Name Locators
- 4. DOM Traversal: Parent, Child, Sibling
- 5. Actions Class: Drag and Drop, Mouse Hover
Module 4: Synchronization and Waits
- 1. Implicit Wait
- 2. Explicit Wait
- 3. Fluent Wait
- 4. Handling Dynamic Elements with Waits
Module 5: Handling Web Elements and Forms
- 1. Handling Textboxes, Dropdowns, Radio Buttons, and Checkboxes
- 2. Handling Multiple Windows and Frames
- 3. Handling Alerts and Pop-ups
- 4. File Upload and Download
Module 6: Selenium Advanced Concepts
- 1. Handling Dynamic Tables
- 2. Taking Screenshots
- 3. Handling JavaScript and Ajax
- 4. Working with Action Class
- 5. WebDriver Event Listeners
Module 7: Selenium Grid and Parallel Execution
- 1. Introduction to Selenium Grid
- 2. Setting up Selenium Grid
- 3. Running Tests in Parallel
- 4. Configuring Hub and Node
- 5. Troubleshooting Grid Issues
Module 8: Framework Design and Best Practices
- 1. Introduction to Automation Frameworks
- 2. Keyword-Driven, Data-Driven, and Hybrid Frameworks
- 3. Page Object Model (POM)
- 4. TestNG Framework Integration
- 5. Reporting and Logging
Module 9: Parallel Testing, ThreadLocal WebDriver & Retry Analyzer
- 1. Parallel Execution
- 2. ThreadLocal WebDriver for Isolation
- 3. Retry Analyzer for Flaky Tests
- 4. Using TestNG XML for Parallel Execution
- 5. Writing Reusable Test Scripts
Module 10: BDD with Cucumber
- 1. Introduction to BDD and Cucumber
- 2. Writing Gherkin Syntax
- 3. Cucumber Integration with Selenium
- 4. Step Definitions and Hooks
- 5. Running Cucumber Tests in Selenium
Module 11: TestNG Framework - Advanced Features
- 1. TestNG Annotations
- 2. Groups and Priorities
- 3. Data Providers and Parameterization
- 4. TestNG Listeners and Reporters
- 5. Integration with Maven
Module 12: Selenium Framework Design (Base Class, Config, Logs, Reports, Utilities)
- 1. Base Class Design
- 2. Configuration Management
- 3. Logging with Log4j2
- 4. Extent Reports for Test Reporting
- 5. Utility Functions and Waits