Test Automation with Selenium, Java, Git, and Jenkins

Selenium is most widely used test automation tool for web applications. Test Automation has a key role in overall DevOps implementation.

Industry now demands that QA/testers have good understanding of programming. The role in demand now is SDET (Software Development Engineer in Test).

There are no pre-requisite for this course. We start from very basics of programming and make you learn core Java. We will also cover all aspects of Selenium from basics to advance.

One cannot be a developer without knowing how to maintain source code. We will cover Git/GitHub.

DevOps is the need for most of the organizations. We will teach you how to create pipeline in Jenkins.

At the end, we will give you a project which you need to complete with automation framework.

All our trainers are having minimum 10 years of experience in test automation. Click here to register for a demo session and our team will be happy to help.

Every session we conduct is a combination of theory and hands-on.

All sessions are recorded which participants can keep with them for life time.

Who can attend

Engineering graduates | Working professionals – manual Testers | Developers

course outline

Core Java

Automation Basics

Introduction to selenium

Selenium WebDriver

TestNG

Maven

Design Frameworks

Test Automation Frameworks

Git/GitHub

Jenkins

Demo Video:

Trainer:

Ketan Jobnaputra

Course description

Java
  • Introduction to Java
  • How to install Java
  • Basics of using Eclipse IDE
  • Primitive Data types
  • Operators
  • String Methods
  • Arrays
  • Control Flows
  • Objects and classes
  • Static Classes and Methods
  • Abstract Classes and Methods
  • Inheritance
  • interfaces
  • Exception Handling 
  • Collections
  • Annotations 
  • File Handling 
  • DB connectivity 
  • Listeners
  • Logging 
  • Properties files
  • All the above concepts with hand-on examples in the class

Selenium

Automation Basics

  • Fundamentals of test automation
  • ROI in Automation
  • Basics of automation framework

Introduction to selenium

  • Story/History of Selenium
  • What is Selenium and how it is used in the industry
  • Features of Selenium
  • Difference between Selenium and UFT
  • DevOps and Test Automation

Selenium Components

  • Selenium WebDriver
  • Selenium GriD

Selenium WebDriver  – Basics

  • Introduction to WebDriver architecture
  • Comparison with RC
  • WebDriver configuration with Eclipse
  • Opening and closing browser
  • Writing Simple Tests
  • Setup TestNG Eclipse plugin
  • Annotations in TestNG
  • Writing basic TestNG tests
  • Assertions
  • Chrome browser developer tools to locate elements
  • Locating Techniques – with extensive practice on XPath and CSS selectors

Controlling Browsers
  • Navigation
  • Page Title, URL and Page source
  • Cookie management
  • Size and position
  • Navigating to different windows, frames and alerts

Controlling elements
  • WebElement commands
  • Handling textbox, links, buttons, dropdowns, multiselect, radiobuttons and checkboxes
  • Handling webtables
  • Mouse movements and keyboard events and uploading files

Browser Synchronization/Waits in Selenium
  • Thread.sleep() – why should not be used
  • Implicit Wait
  • Explicit Wait

Complex Actions
  • Mouse Hover
  • Context/Right click
  • Double Click
  • Drag and Drop
  • Building complex actions

Page Object Design Pattern (PODP)
  • What is design pattern
  • Need for PODP – reusability and maintainability
  • Test speaks only domain

TestNG
  • All Annotations in TestNG
  • TestNG configuration
  • Organize your tests in triple A (AAA) framework
  • FIRST Principle of writing test cases
  • SRP Principle (Single Responsibility Principle)
  • Attributes of @Test
  • Groups and Parameters
  • Data Driven Test(DDT) Using TestNG
  • Creating Suites
  • Reports using TestNG and ReportNG
  • Parallel Execution (DevOps context)

Selenium Grid
  • What and When of Grid
  • What is Hub and Node
  • Designing test scripts for Grid
  • DesiredCapabilities and RemoteWebDriver
  • Creating grid of 10-15 machines/VMs/containers
  • Running test scripts on Grid (parallel execution on at least 10 to 15 machines during training)
  • Integration with CI-Key(DevOps)

Additional Topics on Test Automation Framework
  • Build automation using Maven
  • Logging
  • Listeners
  • BDD-Cucumber – Writing Selenium Tests
  • Handling Browser Profiles

Git/GitHub
  • Introduction to SCM
  • Types of SCMs
  • Creating repo(repositories)
  • Adding files to repo
  • Branches and Best practices
  • Merging, Cloning, tagging
  • Importance of .gitignore
  • Working on Git Command Line
  • GitHub account creation
  • Uploading your project with GitHub using command line and Eclipse
  • Integration with Jenkins using GitHub Webhooks

Jenkins
  • What is CI and CD
  • Manage Configuration
  • Setup Build Jobs
  • Plugins
  • Scheduling Builds (Push/Pull)
  • Configuring a Jenkins Pipeline for test execution

BDD/Cucumber
  • What is BDD/TDD
  • BDD with Agile
  • Feature File – Gherkin
  • Step Definitions
  • Writing Tests
  • Executing tests using Cucumber

Creating Test Automation Framework

What is Test Automation Framework

Why we should care

How to create a robust automation Framework

  • Re-usability and maintainability is the key focus area
  • Configurability
  • Effective Usage of Design Patterns
  • Test Data Management
  • Exception Handling
  • Debugging using Logs and Listeners
  • Effective exception handling
  • Principles of writing clean code
  • Reporting Frameworks
  • Integration with CI tools like Jenkins
  • Use of version control
  • Support for parallel execution – on-premise/cloud
  • Utility functions/page objects

Test Automation Project
  • Automate an e-commerce application
  • Make decisions on frameworks based on requirements
  • Design Test Data Management Strategy
  • Design logging and listening strategy
  • Design exception handling and reporting
  • Design page objects for store and admin panel
  • Write tests and execute them using TestNG
  • Make scripts accept run-time parameters instead of hardcoding
  • Create utility package to re-use (modular framework)
  • Build Tests using Maven
  • Allure Reporting Framework
  • Integrate with Jenkins and GitHub

Post Training Association
  • Typical Interview questions
  • Resume Preparation
  • Mock Interview – only on request
  • Providing interview calls with companies
  • Regular communication on WhatsApp group regarding selenium webinars, conferences and job openings
  • Re-attending the same training in future without any additional cost