What exactly is automation testing?

Automation testing entails examining software and other technological products to ensure they meet stringent requirements.It serves as a means to verify that hardware or software performs precisely as intended, identifying errors, flaws, and potential issues throughout the software development cycle. Why is it a vital skill? Automation engineering presents a promising career path for individuals inclined towards technology. With automation gaining traction across both the technology and the demand for automation specialists is expected to surge.

Course Objectives:

• Gain proficiency in Selenium IDE.
• Familiarize oneself with web elements.
• Master the JUnit/TestNG framework.
• Learn how to capture screenshots using Selenium.
• Acquire knowledge of Extent Reports.
• Develop skills in handling multiple windows, pop-ups, and alerts.
• Create various frameworks.
• Suitable for freelancers seeking to build error-free websites.
Module 1: Introduction to Automation Testing

In this module, we can learn about automation testing and when to automate the application. We can also look into different automation tools in the market, and we will discuss about advantages and disadvantages of automation tool.
❖ What is Automation testing
❖ Advantages of Automation testing
❖ Disadvantages of Automation testing

Module 2: Introduction to Selenium

In this module, we will discuss briefly about selenium tool and history of it. We will compare selenium with other tool like QTP and we can look into major components in selenium like Selenium IDE, Selenium RC, Selenium Web driver and Selenium Grid.
❖ History of Selenium
❖Why Selenium tool
❖ Differences between Selenium and other Tools
❖ Different components in Selenium

Module 3: Introduction to JAVA

In this module, we will talk about java and features of java, and what is JVM and JRM. We will discuss about different types of data types and conversion of data types, and control statements (loops like for, while, do while, if) with examples. What is string and different methods in strings. We will discuss about one dimensional array and two dimensional array along with real time examples and more details about functions and parameterization and how to return the functions and use it with on other functions.

❖ Introduction to java
❖ Installation of Eclipse IDE
❖ Data types
❖ Control Statements
❖ Strings
❖ Arrays
❖ What are Functions?
❖ Function Input Parameters
❖ Function Return Types
Module 4: Object Oriented Programming -1

In this module, we discuss about class and local variables, global variables. how to create static and non static methods and how to access them. How to create Object and call the functions. What is constructor and when to use constructor, what is parameterized constructor and how to pass parameters in constructor.

❖ Class
❖ Variables
❖ Static and non-static variables
❖ Static and non-static functions
❖ Object
❖ Constructor
Module 5: Object Oriented Programming -2

In this module, we will discuss about concept of Inheritance and how we can overload and override functions. What is package and how to access classes across packages. What are the different access modifiers available in java (Public, Private, Protected) and how to use them. How to handle exception and what is try and catch block, differences between throw and throws, final and finally, and different kinds of exceptions.

❖ Inheritance
❖ Overloading and Overriding Functions
❖ Packages
❖ Access Modifiers
❖ Exception Handling
Module 6: Object Oriented Programming – 3

In this module, we will discuss about different types of collections like Arraylist, set, hashtable and how to use them. How to read and write text file and how to read properties files, and how to read and write excel sheet using apache poi

❖ Collections
❖ File Handling
Module 7: Introduction to Selenium IDE

In this module, we will discuss about features of Ide and limitations of IDE.

❖ Installation and Introduction to IDE
❖ Creating first script using record and playback
❖ Installation of Inspector Tools and its Uses.
❖ Generating Scripts using different WebElements
❖ Handling Wait Commands
❖ Handling Validations Commands
❖ Handling Store Commands
❖ Limitations of IDE
Module 8: Introduction to Selenium WebDriver 3

In this module, we will talk about webdriver and its features, and we will write a sample program for better understanding. In this module, we talk about basic features of webdriver like get and navigation functions, different types of Waits, taking screenshot and etc.
❖ First Program on selenium
❖ Verify Page title in Selenium Webdriver
❖ Navigation in selenium
❖ Radio button and Checkbox in Selenium Webdriver
❖ Handling Auto Suggestion
❖ Handling DropdownList
❖ Handling File upload using Sikuli/Auto IT
❖ Handling Drag and Drop in Selenium
❖ Handling Mouse Hover,Keyword Events using Action class
❖ Synchronization using webdriver(Waits)
❖ How to take screenshot using selenium
❖ How to Take Multiple Screenshots
❖ How to capture Error message using webdriver
❖ Handling Multiple windows
❖ Handling Alert Messages.
❖ Handling IFrames.
❖ Cross Browsing using selenium
❖ Complete details of Dynamic XPath in Selenium
❖ Complete details on CSS in selenium
❖ How to download files in Selenium Webdriver.
❖ Handling WebTable
❖ Handling WebCalendar
❖ How to use Logs File in selenium
❖ How to use Properties File in selenium

Module 9: What is Framework

In this module, we will discuss about very important topic i.e., frameworks.

❖ What is Framework
❖ Types of Framework
❖ Use of Framework
Module 10: TestNG Framework

In this module, we will discuss about TestNG, what is the advantages of testng over Junit. We will look at different annotations and how to use them in selenium, and integrating different types of reports(XSLT, Extent Reports) to testng and parallel execution of test cases and creating maven project and adding dependencies to pom.xml file and how to run maven project.

❖ Configure Eclipse with Selenium and TestNG
❖ New- Installation of TestNG
❖ Create First TestNG Program and Execute.
❖ Check reports generated by TestNG
❖ How to execute only failed test cases in Selenium Webdriver
❖ What is TestNG Listeners and How to implement TestNG Listener in Selenium Webdriver
❖ How to run group Test cases in Selenium using TestNG
❖ How to run Multiple Programs using TestNG.
❖ Execute Selenium Webdriver Test cases parallel using TestNG
❖ XSLT report generation generation using TestNg and Ant or Maven
❖ Building a BAT file to run tests using ANT or Maven
❖ Putting Dataproviders for multiple tests in a single file
❖ Parameterizing/Sharing single data provider for multiple test cases
❖TestNg Maven Configuration
❖ Maven-surefire-report-plugin with testng
❖ Executing testng from maven on Command Prompt
❖ Generating Maven Surefire Reports
❖ Generating XSLT Reports with Maven
❖ Managing Multiple test Suites
Module 11: Data-driven Framework

In this module, we will discuss about data-driven framework with sample project and how to run deploy src to github and how to run project through Jenkins and sending reports via emails, and how to run parallel using grid.

❖ What is data driven Framework
❖ Write Excel using Apache poi/JXL
❖ Read Excel using Apache poi/JXL
❖ Goals to be achieve in data driven framework
❖ Creating a Core Framework
❖ Create Maven Project and Packages
❖ Creating test Cases
❖ Build base test
❖ Build Validations Functions
❖ Build generic Functions.
❖ Soft assertions and extent reports
❖ Logging into reports
❖ Put Screenshots to reports
❖ Initiate properties files
❖ Build a centralized/reusable function to extract objects
❖ Reading Data from XLS-Parameterizing tests
❖ Build the utility function for reading data
❖ Selectively/Optionally Run tests
❖ Reports – XSLT, Extent Reports
❖ Run project with ANT/Maven/Eclipse

Model 12: Database Testing

In this module, we will discuss about mysql or sqlsever and necessary commands. We will also see that how to integrate it to selenium project using server jar files

❖ Install MySQL Server
❖ Discussion on JDBC Drivers and Other drivers
❖ Connection interface
❖ Statement and prepared statement interface
❖ Result set interface
❖ Discussion on various commands like select, delete ,update, insert queries
❖ Using TestNG annotations to establish database connection
❖ Sample Connection on application and Validations on it.
Module 13: Jenkins + Git + GitHub

In this module, we will briefly talk about git, github and how to push code to github and installation of Jenlkins and how to execute test scripts through Jenkins, builds fails send email to respective user

❖ What is Continuous Integration
❖ What is Jenkins and how it helps in CI
❖ Downloading and installing Jenkins
❖ Executing simple batch commands
❖ Scheduling time for test execution.
❖ Executing Selenium Project builds with ANT
❖ Build Triggers
❖ Mailing if build fails
❖ Configuring/Scheduling Maven Project in Jenkins
❖ Downloading and installing GIT
❖ Installing GIT and GITHUB plugins for jenkins
❖ Configuring ssh host keys for GIT and Jenkins
❖ Git Bash commands and operations
❖ Uploading project to GIT using GIT Bash
❖ Cloning projects
❖ Creating branch/forks
❖ Configuring/Scheduling remote Git maven project in Jenkins
Module 14: Selenium Grid

In this module, we will discuss about hub and node concept, how to run parallel execution on different nodes. How to create json file for parallel execution.
❖ Introduction to Grid
❖ reading Nodes and Hubs
❖ Deciding number of browsers on a Node
❖ Deciding type of browsers on Node
❖ Limiting number of concurrent browsers on node
❖ Difference between maxSession and maxInstance
❖ Configuring chrome driver and IE driver exe files on grid
❖Testng configurations
❖RemoteWebDriver and Desired Capabilities
❖ Configuring JSON file format to initialize/configure hub and nodes
❖ Running single test on single node – serially in multiple browsers
❖ Running single test on single node – parallel on multiple browsers
❖ Running single test on multiple nodes – each node having different browser
❖ Can we decide node to run test?
❖ Running multiple tests spread across 3 nodes – one for ie, one for firefox and one for chrome
❖ Node Timeout
❖ Prioritizing the test cases
❖Prioritizer Interface and CustomPrioritizer
❖ Sharing same webdriver instance among multiple tests after prioritizing them
❖ Grid Coding in eclipse
❖ Creating a Grid sample test case
❖ End to end scenario building and execution on Grid -demonstration on one node
❖ End to end scenario building and execution on Grid -demonstration on multiple nodes on virtual machine
❖ End to end scenario building and execution on Grid -demonstration on multiple nodes on virtual machine and on multiple browsers.

Module 15: Page Object Model

In this model, we will see how to create page object framework and page factory with sample examples.

❖ What is Page Object Model
❖ When to use POM
❖ Examples to POM
❖ POM using Page Factory
❖ Sample Examples for POM.