CURRICULUM
Java Essentials for Selenium
Java Programming Basics
- Why Java for Selenium
- Installing Java
- Installing Eclipse
- First Eclipse Project
- First Java program
- Concept of class file
- Datatypes in Java
- String class and functions
- Practical Examples on Strings handling
- Conditional Statements
- Ifâ?¦elseâ?¦
- Switchcase
- Practical Examples with conditions
- Loops
- While Loop
- For Loop
- Practical Examples with 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 Colours
- 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 InternetExplorer
- Launching AUT in Chrome
- Launching AUT in Safari
- Inspecting properties of Elements on different Browsers
- Installing FireBug and FirePath
- Creating FireFox Profile
Automating Operations on various Elements
- Browser
- TextBox
- ListBox
- 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
Â
Handling Ajax Components
- Handling Ajax Components
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
Â
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 & JENKINS
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
Â