
| Selenium Course Topics | Time | |
| 1 | Integrated Development Environment (Eclipse IDE) | 30 minutes |
| 2 | Programming language (Java, OOPS) | 5 hours |
| 3 | Selenium Automation Tools 1. Selenium IDE (1 hour) 2. Selenium WebDriver (3 hours) 3. Selenium Grid (1 hour) |
5 hours |
| 4 | Java Framework (JUnit, TestNg) | 30 minutes |
| 5 | Automation Frameworks (Modular, Keyword Driven, Data Driven, Hybrid) | 30 minutes |
| 6 | Design Pattern (Page Object Model, Page Factory) | 30 minutes |
| 7 | Reporting (TestNG Reports, Extent Reporting, Cucumber Reporting) | 30 minutes |
| 8 | Build Automation Tools (Maven, Ant) | 30 minutes |
| 9 | Log4j Logger | 30 minutes |
| 10 | Continuous Integration Tool (Jenkins) | 30 minutes |
| 11 | Web Based Source Code Repository Tool (GitHub, Git bash) | 30 minutes |
| 12 | Behavior Driven Development (Cucumber BDD) | 2 hours |
| 13 | Windows Application Automation Tools (Sikuli Tool with Selenium Web Driver) | 30 minutes |
| 14 | Selenium Object Repository | 30 minutes |
| 15 | Mobile Application Automation Tool (Android Web App testing with Appium in windows) |
30 minutes |
| 16 | Practice Selenium with Live Project (demo Financial Application). Use Page Object Model (POM) with Selenium, Maven and TestNG | 1 hour |
| 17 | Additional (Extra): Selenium Interview Questions and Answers | 1 hour |
| Total Hours = | 20 |

Selenium Training Course Contents
Integrated Development Environment (Eclipse IDE)
1. Download, Install (Installing the JDK) and configure Java
2. Download, Install and configure Eclipse
3. Use Eclipse IDE to teach Selenium Automation
Java
1. Introduction
2. Running a simple Java Program
3. Getting User Input
4. Math Operators
5. Increment Operators
6. Logical Operators
7. Switch Statement
8. While Loop
9. Class
10. Use Methods with Parameters
11. Constructors
12. Conditional Operators
13. for Loops
14. do while Loops
15. Random Number Generator
16. Variables/Arrays/Datatypes/Conditional Statements
17. Public, Private and this
18. Set and Get Methods
19. toString
20. Static
21. Final
22. Creating Files
23. Writing to Files
24. Reading from Files
25. Exception Handling
26. Regular Expressions
27. Operator Precedence
28. Java Exceptions (Try…Catch)
Java OOPS –
1. Inheritance/Interfaces/Polymorphism
2. Abstraction/Encapsulation
3. Util/List/Exceptions
4. Constructors/Access Specifiers
Selenium IDE
1. Use Selenium IDE GUI recording/playback features
2. Install Node JS. Then, ran Selenium IDE script from command line with selenium-side-runner utility in Online Selenium Grid (in lambda test site)
Selenium WebDriver
1. Setting up JUnit and Selenium WebDriver
2. Writing a Basic Script Using Selenium WebDriver
3. Writing a Basic JUnit Script Using Selenium WebDriver
4. Locators (By ID, By name, By class name, By tag name, By link text, By partial link text, By CSS, By XPath)
5. FindElement/FindElements
6. Handling Listbox/Windows/Frames/IFrames
7. Handling Alerts/Data Picker
8. Synchronization – Selenium Wait (Implicit Wait and Explicit Wait)
9. Mouse Actions
10. Keyboard Actions
11. Upload a File
12. Capture Screenshot
13. Parameterize using Excel
14. Drag and Drop
15. Checkbox/Drop downs/Radio buttons
16. JAvascriptExecutor
17. Selenium Expected Conditions
18. Navigation Methods
19. WebDriver Interface
20. Handle Web Table
Selenium Grid
1. Multi Browser Testing
Locator Tools
1. XPath finder tools like True Path/Ruto/Chro Path
Automation Frameworks
1. Modular Framework/Keyword Driven Framework/Data Driven Framework/Hybrid Framework
Java Framework (TestNG)
1. Writing a Basic TestNG Script Using Selenium WebDriver
2. Annotations: @Test,@Before/@AfterTest,@Before/@AfterClass
3. Cross Browser Testing/Data Provider/Listeners
4. Parameterization/Parallel Execution of Tests
5. TestNG Hard and Soft Assert
6. Executing the Failed Tests
Cucumber
1. Behavioral Driven development (BDD)
2. Cucumber Project Setup/Feature file/Gherkin language
3. Working with scenario & Database
4. Parameter Handling
5. Scenario Data Tables
6. Scenario Outline Data Tables
7. Scenario Hooks
8. Maven Setup
9. Cucumber Test Suites
Design Pattern
1. Page Object Model Introduction/Page Object Model (POM)
2. Page Factory
Build Automation Tool
1. Maven/Dependencies/plugins/profiles/Ant
Continuous Integration Tool
1. Jenkins/Creating Maven Job/Manage Plugins
2. Executing the windows commands in Jenkins Free Style project
3. Scheduling the Jobs/Downloading the Code from Github
4. Executing the Code from Github
5. Run Selenium automation tests overnight or at any specific time
6. Send email to email recipients to notify build failures
Web Based Source Code Repository Tool
1. Github
2. Creating branches
3. Pushing the code
4. Generating Pull Request
5. Merging the Code
Git bash
1. git clone/git branches/git push/git pull
2. git add/git commit
Log4j Logger
1. Use Log4j Logger to do log levels (All, DEBUG, INFO, WARN, ERROR, FATAL, OFF) with Selenium Web driver
Reporting
1. TestNG Reports
2. Extent Reporting
3. Cucumber Reporting
Practice Selenium with Live Project (Demo Financial Online System)
Below is the login URL for the demo financial online system
https://lucid-dijkstra.74-208-106-87.plesk.page/Login/Login.php

Username: demo
Password: demo7864

Automate following scenarios in Demo Financial Online System with Selenium:
1. Login to the Demo Financial Online System with valid User Name and Password
2. Create new Customer
3. Create new Account (Example: Checking or Savings Account)
4. Deposit money
5. Withdraw money
6. Balance Inquiry
7. Invest in business
Windows Application Automation Tool Sikuli with Selenium Web Driver
1. Use Sikuli Tool with Selenium Web driver to automate windows applications and images
Mobile Application Automation Tool (Android Web App testing with Appium on windows)
1. Installed Android Studio and Appium Desktop App
2. Use Appium tool to automate Mobile Android Web Application in windows
3. Use simulator to test mobile phones
Additional (Extra):
1. Interview Questions
2. Selenium Interview Questions and Answers