Automation. A word that is haunting many Testers. Also, many are in blind love with it and are obsessed with it. Things look easier when we see Automation as a need of the present time and coming years.
Knowing that learning Automation is a need (or probably out of fear, blind love, or obsession?), we see many Testers around looking for the right platform to learn the automation, and learn it right.
We, at The Test Tribe, have been working on solving this problem over a span of the last 8-12 months and we are finally here with the Most Extensive Automation Training with Java and Selenium on Internet.
And, we are here with our second batch of this Bootcamp after a fantastic response to the first Batch. Do not believe us. Go check the Testimonials from our first batch of attendees.
Many of us combined our years of experience building automation frameworks and delivering automation projects into one powerful syllabus which covers many topics and concepts which usually go untold and unheard. Idea is to enable people to learn good automation and not just automation. To help them learn the framework and its importance and not just scriptwriting.
We are talking about:
Why we think this is the best Automation training for you
Who should join this Bootcamp?
Bootcamp Schedule
Starting 15th of May, 2021 | 9 Hours per Week
Every Saturday & Sunday- 11:00 AM IST to 3:30 PM IST
Mid-week Sync-up every Wednesday- Will be decided as per Attendee preference (as per majority)
Bootcamp Syllabus
Section #1: Java for Selenium
Getting Started with Java:
Installing Java
Configuring IDE
Creating First Java Program
Learning about different Data Types
Primitive
Non-Primitive
Understanding Different Types of variables
local
instance
static
Working with Operators
Arithmetic
Increment and Decrement
Relational
Conditional
Equality
Playing with control statements:
Selection Statements
if-else
switch
Iterative Statements
while
do-while
for
for-each
Understanding Classes and Objects
Use of Constructor
Method Signature
Return Type
this keyword
Exploring OOPS concepts using:
Inheritance
IS-A relationship
HAS-A relationship
super keyword
Polymorphism
Method Overloading
Method Overriding
Encapsulation
Abstraction
Abstract Classes
Interfaces
Access Modifiers
Working of Enums and Varargs
Playing with Arrays:
1 and 2 Dimensional
Exploring Strings Concepts:
Immutable
Mutable
Exception Handling and Exception Propagation
try-catch-finally
Nested blocks
Exception Hierarchy
throw vs throws
final vs finally vs finalize
Use of Collection:
List
ArrayList
LinkedList
Set
HashSet
LinkedHashSet
TreeSet
Map
HashMap
LinkedHashMap
Understanding Collections class
Nested Collections
Comparator
Basic Lambda Functions for Automation
Section #2: Locators
Understanding HTML
What is HTML?
Common Tags
Tags Attributes
Understanding DOM
What is DOM?
Content of DOM
DOM Rendering
Shadow DOM
Locating Web Elements:
id
name
className
tagName
css
xpath
linkText
partialLinkText
Advance Locator Designing Techniques
Naming conventions
css design techniques
xpath design techniques (Handling Dynamic xpath)
Locating on Angular pages (pseudo elements)
Section #3: Selenium WebDriver
Configuring Maven Project
Configuring Maven on System
Understanding Maven Project Structure
Exploring Maven life cycle
Adding required dependencies
Selenium Overview
Architecture of Selenium
WebDriver Interface Implementation
Selenium Basics:
Browser Commands
Launching a browser with executable file
Launching browser using external libraries
get() vs navigate()
maximize/minimize the browser
Browser get actions
close() vs quit()
Elements Command Overview
Understanding By.class
sendKeys()
click()
clear()
isDisplayed() vs isSelected() vs isEnabled()
getText()
getAttributes()
Finding Elements
findElement() vs findElements()
Storing individual/multiple elements
Working with different types of elements
Textbox
Checkbox
Radio Buttons
Dropdowns (Single/Multi-select)
Links
Buttons
Calendar
Selenium Intermediate:
Exploring Wait Commands
Implicit
Explicit
Fluent
Thread.sleep() vs waits
Alert Handling
Popup Handling
Window Handling
Multi Tabs
Multi Windows
Web Table/Dynamic Web Table
Working with iFrames
Working with Action class
JavascriptExecutor Interface
Working with Shadow DOM elements
File Uploads
Direct Upload
Upload using AutoIT
Capturing Screenshots
Exploring updates specific to Selenium 4 version.
Selenium Advance:
Configuring and Creating TestNG tests:
Creating a basic Test
Checking Execution order and other Test attributes
Converting selenium code to TestNG tests
Creating Dependent Tests
Test Grouping
Running from TestNG.xml file
Exploring the use of different annotations
Using DataProviders
Configuring Parallel Test Execution
Creating TestNG Listeners
Externalising Test Data using different data-driven techniques
Creating MultiThreaded WebDriver
Creating File Readers and Writers
properties
excel
json
yaml
Section #4: Framework Designing
Framework Overview
What is a Framework?
Types of framework
Advantages of Framework
Implementing Page Object Model with Hybrid Framework
Implementing Wrapper Layer
Using Java Design Principles and Patterns
Providing Multi Environment execution support
Generating Dynamic TestNG
Externalizing Test cases
Creating TestNG at runtime
Exploring the advantages of externalization
Configuring Loggers
Adding simple loggers
Creating log patterns using log file
Execution Reporting
Understand the perks of good reporting
Implementing Extent Reporting
Implementing Allure Reporting
Executing via pom.xml and via command line with parameters
Configuring Static Code Analysis
Use of code analysis
Configuring and Identifying code issues or identifying code loopholes.
Section 5: Continuous Integration (CI)
Selenium Grid
Understanding Grid Architecture
Configuring and Running Grid
Executing tests on Grid
Source Code Management - Git
Need for SCM?
Creating and Linking Git Repo with project
Understanding the use of git branches
Playing with git commands via command line
Jenkins
Configuring Jenkins
Creating Jenkins Jobs
Executing tests from Jenkins
Parameterising Jenkins Job
Configuring CRON
Creating and linking Hooks with Jenkins
Triggering Slack notifications
Storing Execution Artifacts
Section #6: Live Project Delivery and Review
Bonus Section:
Docker Overview
Introduction to BDD
CucumberReport.io overview
Execution Video for Failed cases
Headless Execution
and a few surprises...
About Instructor
Kunal Ashar
Kunal is working as Sr. QA Engineer in Xendit, Singapore with 7 years of experience in Automation, majorly in product-based companies. Kunal is an Automation Enthusiast, Specializes in creating and leveraging Automation Frameworks and providing effective solutions to daily automation challenges. Believes in designing and creating sustainable automation frameworks for Continuous Integration using the best of the open-source tools and help businesses with quick feedback.
Kunal has built several Automation frameworks for Web and API Automation, though it be Keyword Driven, Data-Driven, or Hybrid. He has also worked in BDD and TDD over the years. Apart from automation, Kunal loves designing web pages and developing APIs as needed.
Kunal loves training people and has so far trained 100+ Software Testers & Developers on automation, within and outside the organization.
Public speaking through Conferences and Meetups is Kunal's newfound interest. He writes about testing at mytestingtrail.com. Kunal enjoys reading books, playing Volleyball and Tennis on a regular basis.
LinkedIn- https://www.linkedin.com/in/kunalashar25
Twitter- http://twitter.com/kunalashar25
Register now! Limited seats that are already filling fast on pre-interest!
Regards,
The Test Tribe Team