Java Syllabus for Selenium
Core Java Basics
Introduction to Java
- Overview and Features of Java
- Java Development Environment (JDK, JRE, JVM)
- Writing and Executing a Simple Java Program
Data Types, Variables, and Operators
- Primitive and Non-Primitive Data Types
- Variable Declarations and Initialization
- Arithmetic, Relational, Logical, and Bitwise Operators
Control Statements
- If-Else, Switch Statements
- Loops: For, While, Do-While
Arrays
- Single-Dimensional and Multi-Dimensional Arrays
- Array Manipulation Techniques
Object-Oriented Programming (OOP)
Classes and Objects
- Creating Classes and Objects
- Constructor and Overloading
Inheritance
- Super and Sub Classes
- Method Overriding
Polymorphism
- Compile-Time vs. Run-Time Polymorphism
- Abstract Classes and Interfaces
Encapsulation
- Access Modifiers
- Getters and Setters
Exception Handling
- Try-Catch, Finally Blocks
- Throw and Throws Keywords
Advanced Java Concepts
Collections Framework
- List, Set, Map Interfaces
- ArrayList, HashMap, HashSet
Streams and File Handling
- Reading and Writing Files
- BufferedReader and BufferedWriter
Multithreading
- Thread Life Cycle
- Synchronization
Java 8 Features
- Lambda Expressions
- Streams API
Selenium-Specific Java Concepts
Introduction to Selenium with Java
- Selenium WebDriver Overview
- Setting up Java Environment for Selenium
Handling Web Elements
- Locators: ID, Name, XPath, CSS Selector
- Interacting with Web Elements: Click, SendKeys, Select
Synchronization Techniques
- Implicit and Explicit Waits
Advanced Selenium Techniques
- Handling Multiple Windows
- Handling Alerts and Frames
- Working with Actions Class (Mouse and Keyboard Events)
Frameworks and Testing Tools
- JUnit and TestNG Integration
- Writing Test Cases and Assertions
- Data-Driven Testing using Excel (Apache POI)
Building Frameworks
- Page Object Model (POM)
- Modular and Hybrid Frameworks
Continuous Integration
- Integrating with Maven/Gradle
- Jenkins for Continuous Testing