Duration
3 days
Overview
Manual testing refers to the fact that, the web application being tested is done manually by testers. Tests need to be performed manually, using a different data set and the success / failure rate of every transaction should be recorded. The challenges faced by the poor tester who does is manually is facing cause fatigue, boredom, delay in work, mistakes and errors because of the manual work. This leads to the need for automation testing.
Automation testing beats manual testing every time. Because it is faster, needs less investment in human resource, not prone to errors, frequent execution is possible, supports lights out execution and supports regression testing and also functional testing.
Selenium is a suite of software tools used to automate web browser testing. It is an open-source tool and is mainly used for functional testing and regression testing. Since it is open-source, there is no licensing cost involved, which is a major advantage over other testing tools.
Objective
The main objective of this course is to show applications how to create fully automated testing suites for applications. Specifically, participants of this program should be able to do the following upon completion of the course.
- Introduction to Automation Testing
- Web Technologies
- Selenium IDE
- JavaScript & Java
- Selenium RC
- Eclipse
- WebDriver
- Grid
- Frameworks (TestNG & JUnit)
Prerequisites
The pre-requisite for this course is basic knowledge of Core Java. However the program also includes a complimentary chapter Java Essentials for Testing with Selenium WebDriver to the participants. Basic knowledge about software testing is added value to this program
Target Audience
The course is ideal for test managers, test engineers, test lead, test analyst, quality assurance Engineers, software developers and engineers who want to learn automation testing.
Day 1
- Automation Testing
- Introduction to Automation
- What is automation testing
- Advantages of Automation Testing
- How to learn any automation tool
- Types of Automation tools
- Introduction to Selenium
- What is Selenium
- Use of Selenium
- Features of selenium
- Difference between Selenium and QTP
- Selenium Components
- Selenium IDE
- Selenium Core
- Selenium RC
- Selenium Grid
- Selenium 2.0 – Web Driver
- Locators of Selenium
- Tools to identify elements and objects
- Firebug
- IE developers tools
- Google chrome developer tools
- Locating elements by ID, Name, Link Text, XPath
- Selenium IDE
- Selenium Overview
- Selenium IDE Introduction
- Downloading and Installing Selenium IDE
- Recording and Running a Simple Test
- Selenium IDE – Features
- Installing Useful Tools for Writing Tests
- Selenium Concepts
- Selenium Commands
- Verifying Page Elements – Assertions and Verifications
- Wait Commands
- Object Identification
- Element Locators
- Regular Expression patterns
- Selenium Test Runner
- Using Regular Expressions in Selenium IDE
- Creating Selenium Test Suites
- How to run the recorded script against other browsers
- Why companies are not using recording tools
- Limitations of Selenium IDE
Day 2
- Selenese Selenium Commands
- Verifying Page Elements
- Introduction to Locating Elements
- Locating elements by xPath
- Locating elements by DOM
- Introducing Matching Text Patterns
- Matching Text Patterns – Regular expressions
- The “AndWait” Commands
- Sequence of Evaluation and Flow Control
- Store Commands and Selenium Variables
- Echo – The Selenese Print command
- Selenium Core
- Selenium Core Overview
- Installing Selenium Core
- Running Selenium Core Test Suites
- Selenium RC
- Installing Selenium RC
- Selenium RC Overview
- Starting and Stopping Selenium Server
- Creating the generic scripts in selenium
- Creating the scripts by using functions
- Selenium Client Libraries
- Browser commands with examples
- Interactive commands with examples
- Information commands with examples
- Validation commands with examples
- How to take data from excel sheets
- Why should we use excel sheets
- How to take data from DB
- Debugging the scripts
- Maintaining the synchronization points
- How to handle Pop-up’s and alert messages
- Selenium Grid
- Introduction of selenium Grid
- Installation and setup of Hub and node
- Script changes for Selenium grid execution
- Simple script execution using grid
- Parallel execution using grid
- Selenium – JAVA language
Introduction
- Data Types
- JAVA variables
- Java Modifier
- Comments in JAVA
- Flow Control – Conditional and Looping
- Handling Exceptions and Assertions
- Array Declaration, Construction and Initialization
- Defining, Instantiating and starting Threads
- Class and Object
- Encapsulation
- Inheritance
- Polymorphism
- Inner Classes
- Overloading and Overriding
- String Class
Day 3
- Selenium Webdriver
- Introduction to selenium webdriver
- Advantages of webdriver
- Setting up Eclipse
- Downloading and configuring Webdriver in Eclipse
- Converting Selenium IDE test to programming language (JAVA)
- Detailed discussion about webdriver commands
- Handling different browsers
- Create our own methods in webdriver
- Using RC commands from webdriver project
- Project structure organization
- SeleniumDriver – IDE – JAVA – Junit
- Junit Annotations
- Testing Annotations
- Testing Eclipse plugin
- Thread.Sleep
- Exceptions
- Webdriver Interface
- How to use TestNG and Junit in Selenium
- Introduction to TestNG
- Why TestNG
- Setting up TestNG
- Working with TestNG
- Advantages of TestNG over Junit
- Exploring TestNG Features
- How to Use TestNG Annotations
- Data Driven Testing TestNG
- TestNG Execution Report
- TestNG Results output folder walkthrough
- TestNG Reporting features
- Introduction to Jenkins
- What is Jenkins
- Why it is used ?
- Installation and configuration of Jenkins
- Backups in Jenkins
- What is continuous Integration
- Need and application for continuous Integration
- Plugins in Jenkins
- Setting up a Jenkins Job
- Manage Jenkins Job
Programme scope, delivery arrangements and suitability are confirmed during enquiry.