Course Content
Java Programming Basics
➢ Installing Java
➢ Installing Eclipse
➢ First Eclipse Project
➢ First Java program
➢ Concept of class file
➢ Datatypes in Java
➢ String class and functions
➢ Conditional Statements
➢ Loops
➢ Arrays
➢ Single Dimensional Arrays
➢ Two Dimensional arrays
➢ Practical usage of arrays in Selenium
➢ Operators
➢ What are Functions?
➢ Function Input Parameters
➢ Function Return Types
➢ Object-Oriented Programming in Java
➢ Local Variables
➢ Global Variables
➢ Static and Non-Static Variables
➢ Static and Non-Static Functions
➢ Creating Objects in Java
➢ Meaning of static
➢ Why is main method static?
➢ Object and Object References
➢ Call by reference and Value
➢ Overloading and Overriding Functions
➢ Access Modifiers – Public/Private/Default/Protected
➢ Constructors
➢ Interface
➢ Usage of Objects in Selenium
➢ Inheritance
➢ Usage of Inheritance in Selenium
➢ Creating Packages
➢ Accessing Classes across Packages
Exception Handling
➢ Exception handing with try catch block
➢ Importance of exception handling
➢ Exception and Error
➢ Throwable Class
➢ Final and Finally
➢ Throw and Throws
➢ Different Types of Exceptions
➢ Need of exception handling in Selenium framework
Automating Excel file Operations
➢ Creating/Opening XLS Files
➢ Reading/Writing Microsoft XLS Files
➢ Counting Rows and Columns
➢ Filling BG/Font Colors
➢ Practical Examples
Automating Text File Operations
➢ Creating/Opening Text Files
➢ Reading/Writing Text Files
➢ Practical Examples
Automating Database Operations
➢ Connecting to Databases
➢ MySQL
➢ Oracle
➢ SQL Server
➢ Sending SQL Queries to Database
➢ Process the Results
➢ Practical Examples
Selenium
Introduction
➢ What is Selenium?
➢ Who developed Selenium?
➢ Selenium Components
Selenium IDE
➢ Installing Selenium IDE
➢ Creating your First Selenium IDE script
➢ How to use Locators in Selenium IDE
➢ How to enhance a script using Selenium IDE
➢ Creating and Running Tests
➢ Creating and Running Test Suite
WebDriver Introduction
➢ Introduction to WebDriver & Comparison with Selenium RC
➢ Installing Selenium WebDriver
➢ Architecture of selenium Webdriver
➢ Creating your First Script in Webdriver
Launching AUT and Inspecting properties of Elements
➢ Launching AUT in Firefox
➢ Launching AUT in Internet Explorer
➢ Launching AUT in Chrome
➢ Launching AUT in Safari
➢ Inspecting properties of Elements on different Browsers
➢ Installing Firebug and Fire Path
➢ Creating Firefox Profile
Automating Operations on various Elements
➢ Browser
➢ Textbox
➢ List Box
➢ Links
➢ Check Box
➢ Radio Button
➢ HTML Tables
➢ Calendars
Automating Keyboard and Mouse Events
➢ Action Class
➢ KeyBoard Events
➢ Drag & Drop Actions
➢ Mouse Hover Action
➢ RightClick, Double Click & Tool Tip
Handling multiple Windows
➢ getwindowHandle()
➢ getwindowHandles()
➢ Switching between windows
➢ Handling elements present in different windows
Handling Alerts
➢ accept()
➢ dismiss()
➢ getText()
➢ sendKeys()
Handling Frames
➢ What is iFrame?
➢ Locating Frames
➢ Switching between Frames
➢ Handling Frames
Creating Customize XPath/CSS Selectors
➢ What is XPath
➢ When to Use XPath
➢ Absolute XPath/Relative XPath
➢ Specifying conditions with XPath
➢ CSS Selectors
➢ Customizing CSS Selector
Synchronization
➢ ImplicitWait
➢ WebDriverWait
➢ FluentWait
➢ PageLoadTimeout
What is TestNG?
➢ Advantages of TestNG over JUnit
➢ Why do we need TestNG in Selenium?
➢ Installing TestNG in Eclipse
➢ Creating a New TestNG Test File
➢ Test annotation
➢ Running the Test
➢ Checking reports created by TestNG
➢ Generating HTML Reports
➢ Annotations used in TestNG
➢ Validating Tests with Assertions
➢ Creating multiple Tests
➢ Prioritizing Tests
➢ Parameterizing Tests with dataProvider
➢ TestNG dataProvider with Excel
➢ Creating and Running Test Suites with TestNG.xml
➢ Parallel Test Execution with TestNG
➢ Cross Browser Testing using TestNG
Automation Test Frameworks
➢ Modular Driven Framework
➢ Keyword Driven Framework
➢ Data Driven Framework
➢ Hybrid Framework
➢ TDD, BDD and ATTD
Page Object Model (POM) & Page Factory in Selenium
➢ What is POM
➢ Why POM?
➢ Advantages of POM
➢ Creating POM Tests
➢ What is Page Factory?
➢ Creating Tests with Page Factory
Database Testing using Selenium
➢ JDBC (Java Database Connectivity)
➢ Driver Manager
➢ Driver
➢ Connection
➢ Statement
➢ ResultSet
➢ SQLException
➢ Connecting to DataBases
➢ Sending SQL Queries to Database
➢ Processing Results
➢ Real-time examples of Database Testing with Selenium
AutoIT
➢ Installing AutoIT
➢ Components of AutoIT
➢ Using FinderTool
➢ AutoIT commands
➢ Creating Scripts in AutoIT
➢ Creating executable files
➢ Running AutoIT Scripts from Selenium
Selenium GRID
➢ What is Selenium Grid?
➢ When to Use Selenium Grid?
➢ What is a Hub and Node?
➢ How to Install and Use Grid 2.0?
➢ Designing Test Scripts That Can Run on the Grid
➢ Using the DesiredCapabilites Object
➢ Using the RemoteWebDriver Object
➢ Running a Sample Test Case on the Grid
➢ Sequential and Parallel Test Execution
➢ Running Tests on different Operating Systems
➢ Running Tests on different Browsers
MAVEN
➢ What is Maven and Why Maven?
➢ Installing/Configuring Maven
➢ Creating Maven Project
➢ Importing Maven Project into Eclipse
➢ What is POM.xml?
➢ Adding Dependencies to POM.xml
JENKINS
➢ Installing/Configuring Jenkins
➢ Scheduling Test Execution in Jenkins
➢ Auto mail configuration in Jenkins
➢ What is continues integration?
➢ Continues integration with JENKINS
GIT
➢ Downloading and Installing GIT
➢ Installing GIT and GITHUB plug-ins for JENKINS
➢ Configuring SSH host keys for GIT and JENKINS
➢ GIT Bash commands
➢ Uploading project to GIT
LOG4J
➢ Introduction about Logging
➢ Logging problems without Log4J
➢ How to solve Logging problem with Log4J
➢ What is Layout?
➢ Different types of Layouts in Log4J
➢ What is Appender?
➢ Different types of Appenders