Selenium Automation Full Course Syllabus
- Module 1: Introduction to Selenium
- What is Selenium? History and evolution
- Advantages and limitations of Selenium
- Components of Selenium:
- Selenium IDE
- Selenium WebDriver
- Selenium Grid
- Automation vs Manual Testing
- Understanding different types of testing (Functional, Regression, Smoke, etc.)
- Module 2: Setting Up Selenium Environment
- Installing Java Development Kit (JDK)
- Setting up Eclipse / IntelliJ IDE
- Installing Maven for dependency management
- Setting up Selenium WebDriver (ChromeDriver, GeckoDriver)
- Introduction to TestNG framework for automation
- Module 3: WebDriver Basics
- Introduction to WebDriver and browser automation
- WebDriver architecture
- Launching browsers and navigating to URLs
- Browser commands: open, close, maximize, refresh, back, forward
- Module 4: Locating Web Elements
- Understanding the DOM structure of web pages
- Locators in Selenium:
- ID, Name, Class Name
- Tag Name, Link Text, Partial Link Text
- CSS Selectors
- XPath (absolute & relative)
- Best practices for element locators
- Module 5: Working with Web Elements
- Text fields, buttons, links, checkboxes, radio buttons
- Drop-down menus (Select class)
- Handling alerts, pop-ups, and frames
- Mouse actions (click, double-click, right-click, hover)
- Keyboard actions using Actions class
- Handling dynamic elements
- Module 6: Synchronization
- Implicit wait
- Explicit wait
- Fluent wait
- When to use waits to handle dynamic web pages
- Module 7: Advanced Selenium
- Handling multiple windows and tabs
- Handling iframes
- Taking screenshots of web pages
- JavaScript Executor for advanced operations
- Handling file uploads and downloads
- Module 8: TestNG Framework
- Introduction to TestNG
- TestNG annotations: @Test, @BeforeTest, @AfterTest, @BeforeSuite, etc.
- Test priorities, grouping, and dependencies
- Parameterization with @DataProvider and XML
- Generating HTML and PDF reports
- Assertions (soft vs hard)
- Module 9: Selenium Frameworks
- Understanding automation frameworks
- Page Object Model (POM)
- Data-Driven Framework
- Keyword-Driven Framework
- Hybrid Framework
- Best practices for maintainable scripts
- Module 10: Handling Real-Time Scenarios
- Automating e-commerce websites
- Handling dynamic data tables
- Dealing with AJAX controls and wait conditions
- Exception handling in Selenium scripts
- Practical Projects
- Automation of login and registration forms
- E-commerce website automation: add to cart, checkout
- Automating a web-based email client (e.g., Gmail)
- Cross-browser testing using Selenium Grid
- Data-driven automation using Excel/CSV