JAVA
Introduction to Java
Basics of using Eclipse IDE
Operators
Arrays
Objects and classes
Abstract Classes and Methods
interfaces
Collections
File Handling
Listeners
Properties files
How to install Java
Primitive Data types
String Methods
Control Flows
Static Classes and Methods
Inheritance
Exception Handling
Annotations
DB connectivity
Logging
All the above concepts with hand-on examples in the class
JAVA
- Introduction to Java
- Basics of using Eclipse IDE
- Operators
- Arrays
- Objects and classes
- Abstract Classes and Methods
- Interfaces
- Collections
- File Handling
- Listeners
- Properties files
- How to install Java
- Primitive Data types
- String Methods
- Control Flows
- Static Classes and Methods
- Inheritance
- Exception Handling
- Annotations
- DB connectivity
- Logging
- All the above concepts with hand-on examples in the class
AUTOMATION BASICS
Fundamentals of test automation
Basics of automation framework
ROI in Automation
SELENIUM COMPONENTS
Selenium WebDriver
Selenium GriD
SELENIUM WEBDRIVER – BASICS
Introduction to WebDriver architecture
WebDriver configuration with Eclipse
Writing Simple Tests
Annotations in TestNG
Assertions
Locating Techniques – with extensive practice on XPath and CSS selectors
Comparison with RC
Opening and closing browser
Setup TestNG Eclipse plugin
Writing basic TestNG tests
Chrome browser developer tools to locate elements
CONTROLLING BROWSERS
Navigation
Cookie management
Navigating to different windows, frames and alerts
Page Title, URL and Page source
Size and position
CONTROLLING ELEMENTS
WebElement commands
Handling webtables
Mouse movements and keyboard events and uploading files
Handling textbox, links, buttons, dropdowns, multiselect, radiobuttons and checkboxes
BROWSER SYNCHRONIZATION/WAITS IN SELENIUM
Thread.sleep() – why should not be used
Explicit Wait
Implicit Wait
COMPLEX ACTIONS
Mouse Hover
Double Click
Building complex actions
Context/Right click
Drag and Drop
JAVA
- Introduction to Java
- Basics of using Eclipse IDE
- Operators
- Arrays
- Objects and classes
- Abstract Classes and Methods
- Interfaces
- Collections
- File Handling
- Listeners
- Properties files
- How to install Java
- Primitive Data types
- String Methods
- Control Flows
- Static Classes and Methods
- Inheritance
- Exception Handling
- Annotations
- DB connectivity
- Logging
- All the above concepts with hand-on examples in the class
AUTOMATION BASICS
- Fundamentals of test automation
- Basics of automation framework
- ROI in Automation
INTRODUCTION TO SELENIUM
- Story/History of Selenium
- Features of Selenium
- DevOps and Test Automation
- What is Selenium and how it is used in the industry
- Difference between Selenium and UFT
SELENIUM COMPONENTS
- Selenium WebDriver
- Selenium GriD
SELENIUM WEBDRIVER – BASICS
- Introduction to WebDriver architecture
- WebDriver configuration with Eclipse
- Writing Simple Tests
- Annotations in TestNG
- Assertions
- Locating Techniques – with extensive practice on XPath and CSS selectors
- Comparison with RC
- Opening and closing browser
- Setup TestNG Eclipse plugin
- Writing basic TestNG tests
- Chrome browser developer tools to locate elements
CONTROLLING BROWSERS
- Navigation
- Cookie management
- Navigating to different windows, frames and alerts
- Page Title, URL and Page source
- Size and position
CONTROLLING ELEMENTS
- WebElement commands
- Handling webtables
- Mouse movements and keyboard events and uploading files
- Handling textbox, links, buttons, dropdowns, multiselect, radiobuttons and checkboxes
BROWSER SYNCHRONIZATION/WAITS IN SELENIUM
- Thread.sleep() – why should not be used
- Explicit Wait
- Implicit Wait
CONTROLLING BROWSERS
- Mouse Hover
- Double Click
- Building complex actions
- Context/Right click
- Drag and Drop
PAGE OBJECT DESIGN PATTERN (PODP)
- What is design pattern
- Test speaks only domain
- Need for PODP – reusability and maintainability
TESTNG
- All Annotations in TestNG
- Organize your tests in triple A (AAA) framework
- SRP Principle (Single Responsibility Principle)
- Groups and Parameters
- Creating Suites
- Parallel Execution (DevOps context)
- TestNG configuration
- FIRST Principle of writing test cases
- Attributes of @Test
- Data Driven Test(DDT) Using TestNG
- Reports using TestNG and ReportNG
SELENIUM GRID
- What and When of Grid
- Designing test scripts for Grid
- Creating grid of 10-15 machines/VMs/containers
- Integration with CI-Key(DevOps)
- What is Hub and Node
- DesiredCapabilities and RemoteWebDriver
- Running test scripts on Grid (parallel execution on at least 10 to 15 machines during training)
ADDITIONAL TOPICS ON TEST AUTOMATION FRAMEWORK
- Build automation using Maven
- Listeners
- Handling Browser Profiles
- Logging
- BDD-Cucumber – Writing Selenium Tests
GIT/GITHUB
- Introduction to SCM
- Creating repo(repositories)
- Branches and Best practices
- Importance of .gitignore
- GitHub account creation
- Integration with Jenkins using GitHub Webhooks
- Types of SCMs
- Adding files to repo
- Merging, Cloning, tagging
- Working on Git Command Line
- Uploading your project with GitHub using command line and Eclipse
JENKINS
- What is CI and CD
- Setup Build Jobs
- Branches and Best practices
- Importance of .gitignore
- GitHub account creation
- Integration with Jenkins using GitHub Webhooks
- Types of SCMs
- Adding files to repo
- Merging, Cloning, tagging
- Working on Git Command Line
- Uploading your project with GitHub using command line and Eclipse
JAVA
- Introduction to Java
- Basics of using Eclipse IDE
- Operators
- Arrays
- Objects and classes
- Abstract Classes and Methods
- Interfaces
- Collections
- File Handling
- Listeners
- Properties files
- How to install Java
- Primitive Data types
- String Methods
- Control Flows
- Static Classes and Methods
- Inheritance
- Exception Handling
- Annotations
- DB connectivity
- Logging
- All the above concepts with hand-on examples in the class
AUTOMATION BASICS
- Fundamentals of test automation
- Basics of automation framework
- ROI in Automation
INTRODUCTION TO SELENIUM
- Story/History of Selenium
- Features of Selenium
- DevOps and Test Automation
- What is Selenium and how it is used in the industry
- Difference between Selenium and UFT
SELENIUM COMPONENTS
- Selenium WebDriver
- Selenium GriD
SELENIUM WEBDRIVER – BASICS
- Introduction to WebDriver architecture
- WebDriver configuration with Eclipse
- Writing Simple Tests
- Annotations in TestNG
- Assertions
- Locating Techniques – with extensive practice on XPath and CSS selectors
- Comparison with RC
- Opening and closing browser
- Setup TestNG Eclipse plugin
- Writing basic TestNG tests
- Chrome browser developer tools to locate elements
CONTROLLING BROWSERS
- Navigation
- Cookie management
- Navigating to different windows, frames and alerts
- Page Title, URL and Page source
- Size and position
CONTROLLING ELEMENTS
- WebElement commands
- Handling webtables
- Mouse movements and keyboard events and uploading files
- Handling textbox, links, buttons, dropdowns, multiselect, radiobuttons and checkboxes
BROWSER SYNCHRONIZATION/WAITS IN SELENIUM
- Thread.sleep() – why should not be used
- Explicit Wait
- Implicit Wait
CONTROLLING BROWSERS
- Mouse Hover
- Double Click
- Building complex actions
- Context/Right click
- Drag and Drop
PAGE OBJECT DESIGN PATTERN (PODP)
- What is design pattern
- Test speaks only domain
- Need for PODP – reusability and maintainability
TESTNG
- All Annotations in TestNG
- Organize your tests in triple A (AAA) framework
- SRP Principle (Single Responsibility Principle)
- Groups and Parameters
- Creating Suites
- Parallel Execution (DevOps context)
- TestNG configuration
- FIRST Principle of writing test cases
- Attributes of @Test
- Data Driven Test(DDT) Using TestNG
- Reports using TestNG and ReportNG
SELENIUM GRID
- What and When of Grid
- Designing test scripts for Grid
- Creating grid of 10-15 machines/VMs/containers
- Integration with CI-Key(DevOps)
- What is Hub and Node
- DesiredCapabilities and RemoteWebDriver
- Running test scripts on Grid (parallel execution on at least 10 to 15 machines during training)
ADDITIONAL TOPICS ON TEST AUTOMATION FRAMEWORK
- Build automation using Maven
- Listeners
- Handling Browser Profiles
- Logging
- BDD-Cucumber – Writing Selenium Tests
GIT/GITHUB
- Introduction to SCM
- Creating repo(repositories)
- Branches and Best practices
- Importance of .gitignore
- GitHub account creation
- Integration with Jenkins using GitHub Webhooks
- Types of SCMs
- Adding files to repo
- Merging, Cloning, tagging
- Working on Git Command Line
- Uploading your project with GitHub using command line and Eclipse
JENKINS
- What is CI and CD
- Setup Build Jobs
- Scheduling Builds (Push/Pull)
- Manage Configuration
- Plugins
- Configuring a Jenkins Pipeline for test execution
BDD/CUCUMBER
- What is BDD/TDD
- BDD with Agile
- Writing Tests
- BDD with Agile
- Step Definitions
- Executing tests using Cucumber
CREATING TEST AUTOMATION FRAMEWORK
- What is Test Automation Framework
- How to create a robust automation Framework
- Re-usability and maintainability is the key focus area
- Effective Usage of Design Patterns
- Exception Handling
- Effective exception handling
- Reporting Frameworks
- Use of version control
- Utility functions/page objects
- Why we should care
- Configurability
- Test Data Management
- Debugging using Logs and Listeners
- Principles of writing clean code
- Integration with CI tools like Jenkins
- Support for parallel execution – on-premise/cloud
TEST AUTOMATION PROJECT
- Automate an e-commerce application
- Design Test Data Management Strategy
- Design exception handling and reporting
- Write tests and execute them using TestNG
- Create utility package to re-use (modular framework)
- Allure Reporting Framework
- Integrate with Jenkins and GitHub
- Make decisions on frameworks based on requirements
- Design logging and listening strategy
- Design page objects for store and admin panel
- Make scripts accept run-time parameters instead of hardcoding
- Build Tests using Maven
POST TRAINING ASSOCIATION
- Typical Interview questions
- Mock Interview – only on request
- Regular communication on WhatsApp group regarding selenium webinars, conferences and job openings
- Resume Preparation
- Providing interview calls with companies
- Re-attending the same training in future without any additional cost