Selenium Training


Selenium with Java: Full-Stack Automation Testing Course

1. Introduction to Selenium
  • What is Selenium and its components (WebDriver, Grid, IDE, etc.)
  • Selenium WebDriver Overview
  • WebDriver Architecture
  • Setting up Selenium with Java
  • Installing Java, Eclipse/IntelliJ, and Selenium WebDriver
  • Browser Drivers (Chrome, Firefox, Edge)
2. Java Basics for Selenium
  • Introduction to Java for Automation
  • Variables, Data Types, Operators
  • Classes, Objects, Methods, Constructors
  • Control Statements: If, Switch, For, While
  • Exception Handling: Try-Catch, Throws
  • Arrays, Collections (List, Set, Map)
  • Object-Oriented Programming (OOP) in Java
    • Classes, Objects, Inheritance
    • Polymorphism, Abstraction, Encapsulation
    • Interfaces and Abstract Classes
    • Access Modifiers
  • Java Libraries for Selenium
    • Java Collections (List, Map, Set)
    • Input/Output Streams
    • Working with Files (FileReader, BufferedReader, FileWriter)
3. Selenium WebDriver Basics
  • Introduction to WebDriver
  • Locating Elements:
    • By ID, Name, Class Name, Tag Name, XPath, CSS Selector
  • WebDriver Commands:
    • get(), navigate(), click(), sendKeys(), getText(), getTitle(), getPageSource()
  • WebDriver Waits:
    • Implicit Wait, Explicit Wait, Fluent Wait
  • Browser Navigation and Window Handling
  • Handling Alerts, Pop-ups, and Frames
  • Handling Multiple Windows/Tabs
  • Actions Class (Mouse Hover, Keyboard Actions)
  • Taking Screenshots in Selenium
4. TestNG Framework
  • Introduction to TestNG
  • TestNG Annotations:
    • @BeforeClass, @BeforeMethod, @Test, @AfterMethod, @AfterClass
  • Grouping, Prioritizing, and Skipping Tests
  • Assertions and Verification
  • Data-Driven Testing with TestNG:
    • @DataProvider, @Parameters
  • Running Tests in Parallel
  • TestNG Reports and Logs
  • TestNG XML Configuration
  • Integrating Selenium with TestNG
5. Cucumber for Behavior-Driven Development (BDD)
  • Introduction to Cucumber
  • Cucumber Architecture and Components
  • Writing Feature Files:
    • Gherkin Syntax (Given, When, Then, And, But)
  • Cucumber Step Definitions
  • Integrating Selenium WebDriver with Cucumber
  • Running Cucumber Tests with TestNG
  • Cucumber Reporting and Logs
  • Data-Driven Testing in Cucumber
  • Parameterization in Cucumber
  • Tags in Cucumber
  • Cucumber Best Practices
6. Jenkins for Continuous Integration and Continuous Deployment (CI/CD)
  • Introduction to Jenkins
  • Setting up Jenkins Server
  • Creating Jenkins Jobs for Automation Testing
  • Integrating Jenkins with GitHub for Version Control
  • Configuring Maven Builds in Jenkins
  • Running Selenium Tests through Jenkins
  • Configuring Jenkins for Parallel Test Execution
  • Jenkins Reporting and Logs
  • Post-Build Actions in Jenkins
  • Scheduling Jenkins Jobs
  • Setting up Jenkins Pipelines (Declarative and Scripted Pipelines)
7. Maven for Build Automation
  • Introduction to Maven
  • Setting up Maven in Java Project
  • Maven Lifecycle Phases
    • Clean, Validate, Compile, Test, Package, Install, Deploy
  • Dependencies Management in Maven (pom.xml)
  • Maven Plugins for Selenium
  • Integrating Maven with Jenkins
  • Running Tests with Maven Commands (mvn clean test)
8. Git for Version Control
  • Introduction to Git and GitHub
  • Git Basics: Clone, Commit, Push, Pull
  • Creating Branches and Merging
  • GitHub Workflow for Automation Projects
  • Resolving Merge Conflicts
  • Integrating Git with Jenkins
  • Using Git in CI/CD Pipeline
  • Git Best Practices for Automation Projects
9. Frameworks in Selenium
  • Data-Driven Framework
    • Using Excel, CSV, and Databases for Data-Driven Testing
    • Test Data Management
  • Keyword-Driven Framework
  • Hybrid Framework
  • Modular Framework
  • Framework Design Patterns in Selenium
10. Advanced Selenium Concepts
  • Handling Dynamic Web Elements
  • Working with AJAX and Asynchronous Content
  • Custom WebDriver Methods
  • Custom Wait Implementations
  • Handling Multiple Windows and Frames
  • Cross-Browser Testing and Compatibility Testing
  • Integration with Cloud Testing Services (Sauce Labs, BrowserStack)
  • Performance Testing with Selenium
  • Mobile Testing with Appium
  • Advanced Debugging and Logging Techniques in Selenium
11. Final Project and Case Studies
  • Building an Automation Test Suite from Scratch
  • Working on Real-World Case Studies
  • Collaboration with Team Members on Projects
  • Implementing Best Practices and Design Patterns
  • Test Reporting and Documentation