Selenium Webdriver Online Offline Training

Selenium is a software testing tool to test web applications. Selenium provides us facility to automate our script and help in regression testing of our cases.Record of test suites and you can create test reproduction scripts and distribute across many environments.

Following are the course contents for selenium :-

JAVA INTRODUCTION

  • Installing JAVA
  • Installing Eclipse
  • Features of JAVA
  • Why JAVA for Selenium
  • First Eclipse Project
  • Concept of class file
  • Datatypes in JAVA
  • String Class
  • If Statements

LOOPS, ARRAYS AND FUNCTIONS

  • While Loop
  • For Loop
  • Usage of Loops in Selenium
  • Single Dimensional Arrays
  • Two Dimensional Arrays
  • What are Functions
  • Functions Input Parameter

OBJECT ORIENTED PROGRAMMING -1

  • Local Variable
  • Global Variables
  • Static and Non Static Variables
  • Static and Non-static Functions
  • Creating Objects in JAVA
  • Object and Object References
  • Call by references and Value
  • Constructors
  • Usage of Objects in Selenium

OBJECT ORIENTED PROGRAMMING -2

  • Concept of Inheritance and Interface
  • Overloading and Overriding Functions

PACKAGES, ACCESS MODIFIERS/EXCEPTION HANDLING

  • Creating Packages
  • Accessing Classes Across Packages
  • Accessing Modifiers
  • Public, Private, Default , Protected
  • Exception handling with try catch block
  • Final and Finally
  • Throw and Throws
  • Need of exception handling in selenium.

COLLECTION API/REFLECTION API

  • Introduction to collection API
  • ArrayList Class
  • Hash table Class
  • Using ArrayList and Hash Table of collection API in Selenium Framework.

SELENIUM ARCHITECTURE

  • Selenium RC Architecture
  • Webdriver Architecture
  • Webdriver Vs Selenium RC
  • Brief explanation about advantage of webdriver

LOCATOR TECHINIQUES

  • Introduction about locator concept
  • Brief explanation of different locator techniques
  • Xpath techniques explanation with different kind of real time scenarios

WEB DEIVER

  • Web Driver Setup – Detailed discussion about webdriver commands
  • Creating our own methods in Webdriver
  • Project structure organization

TEST NG

  • Brief about testing framework and TestNG
  • Annotation concept and different types – Testing Configuration
  • Suite execution from command prompt without eclipse
  • Parallel script execution
  • Grouping of test cases
  • Parameter configuration
  • Suite creation methodology
  • Report generation
  • Assertions
  • Verification
  • Listeners in testing
  • Create customized reports using testing & JAVA

AUTO IT

  • Need of Auto IT tool
  • Basics of Auto IT and create simple script

SELENIUM GRIDE

  • Introduction of selenium grid
  • Installation and setup of Hub and nodes
  • Script execution using grid

JENKINS , GIT, GITHUB INTEGRATION

  • Configuring/Scheduling remote Git maven project in Jenkins
  • Jenkins Integration
  • Creating branch/forks
  • Cloning projects
  • Uploading project to GIT using GIT Bash
  • Git Bash commands and operations
  • Configuring ssh host keys for GIT and Jenkins
  • Installing GIT and GITHUB plugins for jenkins
  • Downlaoding and installing GIT
  • What is continuous integration
  • How Jenkins helps in continuous integration
  • Mailing if build fails
  • Configuring/Scheduling Maven Project in Jenkins
  • Build Triggers
  • Executing Selenium Project builds on remote Server/Github with ANT?
  • Executing Selenium Project builds with ANT
  • Build project at will and build at intervals/ Scheduling builds
  • Executing simple batch commands
  • Downloading and Installing Jenkins
  • GIT, GITHUB

TESTNG AND DATA DRIVEN FRAMEWORK

  • Brief discussion about goals to be achieved after building data driven framework
  • Reading Data from XLS - Parameterizing tests
  • Build the utility function for reading data
  • Selectively/Optionally Run tests
  • Reports - XSLT, Extent Reports - Adding screenshots in reports
  • Scheduling Execution of Project
  • Auto Emailing reports to team members
  • Building Bat file for project
  • Integrating framework with Jenkins
  • Implement GRID - Parallel and reports/logs/screenshots
  • How to run framework on diff environments
  • Run project with ANT/Maven/Eclipse
  • Build a centralized/reusable function to extract objects
  • Initiate the properties file
  • Put screenshots in extent reports
  • Generating maven Project and packages
  • Generating a core framework structure which can be used with any project with minimum changes
  • Generating test cases
  • Introducing dependency between tests
  • Make testng.xml for batch running
  • Build the Base Test and functions in Base Class
  • Build validation functions
  • Build generic functions
  • Soft assertions and extent reports
  • Build report generation functions
  • Generating Reports and Adding Logs in Reports
  • What is Data Driven Framework?

PAGE OBJECT MODEL WITH PAGE FACTORY

  • Generating Extent Reports
  • Annotations in Page Object Model Page Facfactory
  • Implement PageFactory Design Pattern
  • Build Page classes
  • Build a maven Project
  • Issues faced in developing page object model
  • Where can Page Object module be used
  • Concept of Page Object Model
  • Concept of inheritance and encapsulation in java
  • Brief discussion about goals to be achieved in Page Object Model design
  • Concept of Page object model
  • Implement GRID - Parallel and reports/logs/screenshots
  • Execute script on diff env
  • Integrating framework with jenkins
  • Scheduling Execution
  • Complete the flow
  • Build the base Page class
  • Generating XSLT Reports
  • Running with ANT
  • Batch Running test cases
  • Complete test cases
  • Creating custom utility functions for data reading
  • Reporting failure and putting screenshots of failure in reports
  • Read data from xls
  • Take screenshots and put them in reports
  • Logging and page classes
  • Implementing reporting-Extent reports
  • Remove Hardcoding/Use Constants file
  • Build the base test class and common functions
  • Encapsulate common features of pages
  • Build reusable validation functions
  • Builing Bat file for project

BASICS OF CUCUMBER

  • Log4j Usage
  • What is BDD
  • Cucumber implements BDD
  • Preparing Features File having test scenarios
  • Writing a step definition
  • Downloading Cucumber Jars
  • Writing Runner Class
  • Given, When, Then, And, But annotations and usage in features class
  • Using regular expression in step implementation to parameterize
  • Parameterize complete scenario using features class
  • Passing parameters in Step Functions
  • Datatable in Cucumber and its implementation
  • Running Cucumber through ANT
  • Pretty, Tags and Glue
  • Junit Report Generation in Cucumber
  • Cucumber HTML Reports
  • Using Assertions to report failure

BUILDING FRAMEWORK WITH CUCUMBER

  • Background and Pending Exception
  • Parameterizing/repeating test cases from feature classes
  • Implementing/deciding Tags
  • Download the Maven Dependencies for Cucumber, Selenium, Junit,Log4j
  • Create the Maven Project
  • Running simple feature/Step scenario
  • Introducing selenium layer - WebConnector
  • Building custom functions in WebConnector
  • Building a simple test case
  • Implementing logging using Log4J
  • Executing project from eclipse
  • Executing project from ANT
  • Executing project from Maven
  • Generating Junit, Cucumber reports
  • Generating Extent Reports in Cucumber
  • Running all/limited testsRunning all/limited tests

JAVA DATABASE CONNECTIVITY - JDBC

  • Executing condional statements
  • JDBC Drivers
  • java.sql package
  • Statement Interface
  • Connection Interface
  • Firing select, insert, update and delete
  • ResultSet Interface
  • Queries with database using Java JDBC
  • Looping the ResultSet
  • Prepared Statement and Callable Statement
  • Executing conditional statements
  • Using Annotations of Junit/TestNg to establish connection with database when Using Selenium
  • Installing MySQL Database and making some tables in it

SUBVERSION (SVN)

  • Checkin and Checkout code with eclipse
  • Checkin and Checkout with UI
  • Installing SVN eclispe plugin - Subeclipse
  • Revisions in repository
  • Installing SVN client UI - TortoiseSVN
  • How will SVN be useful to team?
  • What is SVN?
  • SVN centralized repository