Selenium with Java

This Online Selenium Training course is targeted for individuals/teams and manual testers. Who have no prior experience in Selenium, any programming language or any other test automation tool. Course will start with a brief introduction of automation and Programming concepts. Later will tread through to the point where you will be comfortable writing your own Selenium tests.

This course is designed for those who work as individual contributors in their team or want to clear interviews of Selenium specific jobs. At the end of this course you will be able to actively participate in Selenium based projects. Participants will be able to clear Selenium based job interviews.



Module-1: Overview on Automation & Selenium
  • What is Software Testing?
  • Manual Testing & its challenges
  • Challenges in Manual testing
  • Automation Testing beats Manual testing
  • Selenium as an automation testing tool
  • Advantages and Disadvantages in Selenium
  • Selenium V/s Other Tools
  • Selenium Suite of Tools
Module-2: Java Essentials for Selenium
  • Download and install Java
  • Setup Java Environment
  • Download and install Eclipse
  • How to use Eclipse
  • Basic Java Program
  • Compile and run a Java program
  • Understanding console output
  • Java Variables and Data Types
  • Java Operators
  • Conditional statements
  • Loops
  • Break and continue
  • Arrays
  • Single Dimensional array
  • Double Dimensional array
  • String Class
  • String methods
Module-3: Java OOPS Concepts
  • Classes and Objects
  • Java methods
  • Passing parameters to the methods
  • Call by value and call by reference
  • Java Constructor
  • Method Overloading
  • Constructor Overloading
  • this keyword
  • Static variables and methods
  • Java Inheritance
  • Method Overriding
  • super keyword
  • final keyword
  • Java Interfaces
  • Java Packages
  • Access Modifiers
  • Exception Handling
  • Array List
  • Hash Map
  • JDBC
Module-4: Selenium WebDriver
  • Introduction to WebDriver and architecture
  • WebDriver features and drawbacks
  • Selenium Webdriver Jars download and configure
  • Create WebDriver Project in Eclipse
  • Create WebDriver test case
  • Execute test case on multiple browsers
  • Locators in Selenium
  • Types of Locators - name, id,cssSelector & Xpath
  • Capturing Xpath & ChroPath plug-in
  • Difference Between Absolute And Relative Xpath
  • Writing Xpath
  • Built-in functions in XPath
  • Handling Dynamic elements using Xpath
WebDriver commands

Browser commands
  • Close and Quit
      Get commands
  • get
  • getTitle
  • PageSource
  • getCurrentURL
Navigation commands
  • navigate.back()
  • navigate.forward
  • navigate.refresh
Conditional commands
  • isDisplayed
  • isEnabled
  • isSelected
  • Implicit, Explicit and Fluent Waits
  • Page Load Time
Handling Web Elements -Part1
  • Textbox/Input box
  • Web Button
  • Radio Button
  • Checkbox
  • Dropdown box/Combo box
  • Links
Handling Web Elements -Part2
  • Alerts/Popups
  • Frames/Iframes
  • Browser windows
  • Date Picker
  • Web Tables
  • Working with Web Table with Pagination
  • Scroll Webpage
Handling Web Elements -Part3 (Actions class)
  • Mouse Hover
  • Mouse double click
  • Mouse right click
  • Drag and Drop
  • Slider
  • Resizing
  • Tooltips
  • Key Down and KeyPress
  • Keyboard Actions
Sikuli integration with Selenium
  • Upload Files
  • Download Files
Handling cookies
  • Desired Capabilities in Selenium
  • Browser Profiles
Module-5: Data Driven Testing
  • What is data driven testing?
  • Usage of Apache POI API
  • Read data from Excel file
  • Write data into Excel file
  • Excel Utilities Class
  • Data Driven testing using Microsoft Excel
  • Data Driven Testing using Database
  • Data Driven Testing using Java Hash Map
Module-6: TestNG Framework
  • TestNg Introduction and Advantages
  • Configuring TestNg in Project/Eclipse
  • How to write TestNG Test case
  • TestNg annotations
  • Understanding testng.xml
  • TestNG Report
  • Prioritizing tests
  • dependsOnMethods
  • Skipping tests
  • Grouping methods
  • TestNG batch testing
  • How to Parameterize Tests
  • Passing parameters using xml
  • Parallel testing
  • Data Provider
  • TestNG Listeners
  • Extent reports
  • Capturing screenshots
Module-7: Advanced Concepts
  • Log4j for logging
  • Page Object Model - Page Factory
Module-8: Maven integration with Selenium
  • 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
Module-9: Selenium Grid
  • What is Selenium Grid?
  • When to Use Selenium Grid?
  • What is a Hub and Node?
  • How to Install and Use Grid?
  • Designing Test Scripts That Can Run on the Grid
  • Running a Test Case on the Grid
Module-10: Hybrid Driven Framework implementation
  • What is Framework?
  • Types of Frameworks
  • Prerequisites for designing frameworks
  • Implementation of Hybrid Driven Framework
  • Creating Maven Project
  • Update pom.xml with dependencies
  • Creating page objects and Object repository
  • Creating utility files
  • Setting up configuration files
  • Creating automation test scripts
  • Creating data driven test scripts
  • Generating extent reports
  • Generating logs using log4j
  • Execute test scripts using TestNG XML File
  • Emailing test reports
  • Execute test scripts through Maven CLI
  • Execute test scripts using bat file
Module-11: Continuous Integration (CI) Maven, Jenkins & GIT
  • What is Continues Integration?
  • Continuous Integration Tools
  • Download and install Jenkins
  • Maven integration with Jenkins
  • Run selenium test scripts through Jenkins
  • Downloading and Installing GIT
  • Working with GITHUB
  • Upload project to GITHUB