EIEIOTECHNOVATION
← Training programmes

EIEIO / AUTOMATION & EMERGING TECHNOLOGY

Selenium (4 days)

Course outline

4 days

Duration

Selenium

4 days

Objective

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

Prerequisite

This course is intended for beginners or intermediate testers, leads who need to develop or improve automation techniques using Selenium and framework design from scratch. While previous testing tool knowledge is not required.

Delivery Method

Focus will be on demonstrating the tool features and applying this on live web applications to ensure that the concepts are well understood. In addition to this, the participants are expected to write and execute scripts to build familiarity with the tool.

Lab Setup (Hardware & Software)

  • Laptop or Desktop machine with 8 GB RAM and with Windows OS
  • Open the network to download jars/ browsers from online during the session.
  • Open network for downloading jars/drivers from internet.

Outline

Core Java

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

Abstract Classes

Interface Concepts

Practical Usage of Interface

Runtime Polymorphism

Collections

Exception Handling

Selenium

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,Firefox,edge

Synchonization – Implicit, Explicit and Fluent wait

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 (overview)

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

Framework Design 1: Framework will be designed from scratch focusing Page Object Model Pattern

MAVEN-Build Management Tool

What is Build Management tool?

Installing & configuring MAVEN

Understanding POM.xml file

Different MAVEN Commands to trigger framework

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

Working with Properties, testng.xml for configuration

API

API Automation using Rest Assured

Prerequisite – Basic knowledge of Api testing

What is Rest Assured?

Step by step guide for the setup of Rest Assured.io

Configure Eclipse with Rest-Assured

First simple Rest Assured script

HTTP Request and Response

Script to fetch different parts of a response

First Test with Rest-Assured | Making a simple Get request

Validate Response Status Code, Header and Body using Rest-Assured

Making a Post Request using Rest-Assured

JSON Basics: What is JSON, JSONPath,

How to query JSONPath

Expressions in JsonPath

Authentication and Authorization

Creating more tests using Rest Assured

Sample Project and more Exercises

Summary, Wrap Up.

GIT-Jenkins- CI-CD Tool

GIT Introduction

GIT Installation

Working with GIT

GIT Commands

GIT Extensions tool

Why Jenkins? & where it going to help us in Framework design?

Installing & Configuration of Jenkins

Creating Jenkins project and integrating Existing Framework

Running the Framework and Scheduling it from Jenkins

Building and Running the Framework using maven commands

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