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.