Automation Testing

Syllabus

Environment 

Tool- Selenium 

Language –Java

Introduction to Automation Testing

  • What is Automation testing
  • Advantages of Automation testing
  • Disadvantages of Automation testing

 Introduction to Selenium

  • History of Selenium
  • Why Selenium tool
  • Differences between Selenium and other Tools
  • Different components in Selenium

 Introduction to JAVA

  • Introduction to java
  • Installation of Eclipse IDE
  • Data types
  • Control Statements
  • Strings
  • Arrays
  • What are Functions?
  • Function Input Parameters
  • Function Return Types

 Object Oriented Programming -1

  • Class
  • Variables
  • Static and non-static variables
  • Static and non-static functions
  • Object
  • Constructor

 Object Oriented Programming -2

  • Inheritance
  • Overloading’s and Overriding Functions
  • Packages
  • Access Modifiers
  • Exception Handling

 Object Oriented Programming – 3

  • Collections
  • File Handling

 Introduction to Selenium 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

Introduction to Selenium WebDriver 3

  • First Program on selenium
  • Verify Page title in Selenium Webdriver
  • Navigation in selenium
  • Radio button and Checkbox in Selenium Webdriver
  • Handling AutoSuggestion
  • 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

What is Framework

  • What is Framework
  • Types of Framework
  • Use of Framework

TestNG Framework

  • 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
  • Building a BAT file to run tests using ANT
  • Putting Dataproviders for multiple tests in a single file
  • Parameterizing/Sharing single dataprovider 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

DataDriven FrameworkWhat 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.
  • Softassertions 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

 Hybrid Framework

  • 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
  • Deciding keywords
  • Generic and application dependent Keywords
  • Using reflection API to call keyword functions
  • Create Maven Project and Packages
  • Creating test Cases
  • Build base test
  • Build Validations Functions
  • Build generic Functions.
  • Softassertions 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

Database Testing

  • Install MySQL Server
  • Discussion on JDBC Drivers and Other drivers
  • Connection interface
  • Statement and prepared statement interface
  • Resultset 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.

 Jenkins + Git + GitHub

  • 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
  • Downlaoding 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

Selenium Grid

  • 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 chromedriver and IEdriver exe files on grid
  • Testng configurations
  • RemoteWebDriver and DesiredCapabilities
  • 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 – parallely 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.
  • Resume Preparation.

    • Mock interviews and assignments.
  • Daily tasks will be assigned to students

 

Page Object Model

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