EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

Java-Selenium

Course outline

5 days

Duration

5 days

Objectives

To achieve Test Automation using Selenium - Java and also designing a framework from scratch with CI/CD pipeline.

Outline

Java OOPS Basics for Selenium

  • Java Architecture
  • Java first program basics
  • Java program principles
  • Classes and objects in Java
  • Strings in Java
  • Coding Basics
  • Access Modifiers
  • Encapsulation
  • Inheritance Concepts
  • Compile and Runtime Polymorphism
  • Practical usage of Inheritance
  • Exception Handling
  • Abstract Classes
  • Interface Concepts
  • Practical Usage of Interface
  • Runtime Polymorphism
  • Collections

Selenium Introduction

  • Selenium History
  • Migrating to WebDriver latest Version
  • Selenium 2.0 and 3.0 WebDriver Architecture
  • Selenium IDE

Locator Techniques& Tools used

  • Preview Browser Add-ons overview to identify elements
  • Locator Techniques : XPath identification, CSS identification, Name ,ID, ClassName, LinkText,-Handling links
  • XPath, CSS Validation using chrome and javascripts

Installations and Configurations with Java basics

  • Java Installation
  • Eclipse Installation , configuration
  • Selenium Jars download/Configuration
  • Brush up basic java concepts

Basic Concepts for first WebDriver program

  • WebDriver Interface explanation and Invoking Browser
  • Basic Methods of WebDriver
  • How to run tests in Google Chrome
  • How to run tests in Internet Explorer

Techniques to automate Web UI

  • Handle Dynamic dropdowns with WebDriver API
  • Handling Static dropdowns with Select WebDriver API
  • Handling Checkboxes with WebDriver API
  • Handling Radio buttons with Customized XPath
  • Handling Radio button dynamically- real time examples
  • Types of Alerts present and Methods to handle them
  • Handling Java Alerts using WebDriver API
  • Web Elements Validation
  • End to End Practice Exercise

Real Time Exercises (end to end Programming)

  • Test Cases- Practice Exercise
  • Exercise 1.1-Limiting WebDriver scope
  • Getting Count of links in the pages ,sections
  • Testcases-Practice Exercise-2
  • Exercise 2.1-Dynamic data in Websites
  • Exercise 2.2-Dynamic Links Handling
  • Exercise 2.3-Validations & checkpoints

ADVANCED WAYS-locating objects

  • writing Customized XPath Using Attributes
  • Writing customized XPath Using Tagnames Traversing
  • Css Selectors locators

Techniques to automate ADVANCNED Web UI

  • Handling Ajax/Mouse Interactions
  • Handling java script actions
  • Actions class-real time example
  • Handling Multiple Windows
  • Window Handle concepts-real time example
  • Live Example on working with Child windows
  • Handling ul li Tags in Selenium
  • How to handle Frames?
  • Frames Techniques-real time example

Practical problems and Methods to handle them with Selenium

  • How to handle table Grids in webpage
  • Techniques used for table grid-Real time example
  • How to overcome Synchronization problems
  • Maximizing window and deleting cookies
  • Handling HTTPS certifications
  • How to troubleshoot if it is not invoking in Firefox
  • Killing the Process and Cookies using Selenium
  • How to take Screenshots in Selenium

Handing dynamic pages using JavaScript

  • How to handle forms using JavaScript.
  • Techniques used for handling dynamic dropdown
  • Validation of XPath and CSS using JavaScript
  • Getting video content using JavaScript
  • Handling videos using JavaScript

AutoIt

  • What is AutoIt?
  • Download and Install
  • Finding windows/ on screen Element with AutoIt
  • Writing scripts in AutoIt
  • Managing Operations in AutoIt

Data driving from Excel for feeding data

  • what is Apace POI API & Download Instructions
  • Excel API Methods explanation
  • Program for Retrieving data from excel
  • Program for Updating data back to excel

Framework Part -1 - TestNG

  • Why TestNG and Its Advantages
  • TestNG Installation and Setup in Eclipse
  • TestNG Annotations Part
  • Prioritizing the tests using TestNG
  • Disabling Enabling the Test cases and putting Timeout
  • Importance of TestNG xml file
  • Including and excluding the Test cases from Execution with TestNG xml file
  • Importance of Groups in TestNG
  • Data driving Testing with TestNG
  • Data Provider Annotation -Parameterizing Test cases
  • Parameterizing from TestNG xml file

Framework Part 2 - Page Object Model

  • What is Page object model?
  • Creating Page object Constructor in classes
  • Practical Exercise explaining Pageobject Model

Framework Part 3 - Page Factory

  • Creating Page Factory Project

Framework Part 4 – Reporting using TestNG, Extend Report

Excel Data Comparison

Framework part 5 - MAVEN-Build Management Tool

  • What is Build Management tool?
  • Installing & configuring MAVEN
  • Understanding POM.xml file
  • Different MAVEN Commands to trigger framework

Framework Part -6 -Data driven Framework

  • Why we should not hard code the data?
  • How to write Global parameters with java code
  • Data driving parameterization from Properties file
  • How to deal with Reusable Components

Framework Part 7 – Keyword Driven

Framework Part 8 – Modular Driven, Hybrid

GIT-Jenkins- CI Tool

  • GIT Installation
  • Working with GIT
  • Why Jenkins? and where it going to help us in Framework design?
  • Installing & Configuring Jenkins with Java and ANT
  • Creating Jenkins project and integrating Existing Framework
  • Running the Framework and Scheduling it from Jenkins

Cross Browser Testing with Selenium Grid

  • How to execute Selenium Tests Remotely
  • Grid Concepts & Architecture
  • Configuring Hub and Node
  • Registering Nodes with Hub Server
  • Desired Capabilities-Grid Program
  • Execution Selenium scripts in Remote Machine
  • Code and Commands

Programme scope, delivery arrangements and suitability are confirmed during enquiry.