Duration
5 days
Course 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
- C#
- Selenium RC
- Eclipse
- WebDriver
- Grid
- Frameworks (TestNG & JUnit)
Prerequisites
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
9:00am-10:30am
1.Automation Testing
1.1. Introduction to Automation
1.2. What is automation testing
1.3. Advantages of Automation Testing
1.4. How to learn any automation tool
1.5. Types of Automation tools
2.Introduction to Selenium 2.1. What is Selenium
2.2. Use of Selenium
2.3. Features of selenium
2.4. Advantages of Selenium
10:30am-10:45pm Morning Break
10:45pm-12:30pm
3.Selenium Components 3.1. Selenium IDE
3.2. Selenium Core
3.3. Selenium RC
3.4. Selenium Grid
3.5. Selenium 2.0 – Web Driver
12:30pm-1:30pm Lunch
1:30pm-3:30pm
4.Locators of Selenium
4.1. Tools to identify elements and objects.
4.2. Firebug
4.3. IE developers tools
4.4. Google chrome developer tools
4.5. Locating elements by ID, Name, Link Text, XPath
3:30pm-3:45pm Afternoon Break
3:45pm-5:00pm
5.Installation and setting up environment.
5.1. Installing Selenium RC Server
5.2. Installing Selenium IDE
5.3. Installing FireBug
5.4. Installation of Java
5.5. Installing Java IDE (Eclipse)
5.6. Installation of C#
5.7. Installing Visual Studio IDE 2022 (Community)
5.8. Configuring the environment
Day 2
9:00am-10:30am
6.Selenium IDE
6.1. Selenium Overview
6.2. Selenium IDE Introduction
6.3. Downloading and Installing Selenium IDE
6.4. Recording and Running a Simple Test
6.5. Selenium IDE – Features
6.6. Installing Useful Tools for Writing Tests
6.7. Selenium Concepts
6.8. Selenium Commands
6.9. Verifying Page Elements – Assertions and Verifications
6.10.Wait Commands
6.11.Object Identification
6.12.Element Locators
6.13.Regular Expression patterns
6.14.Selenium Test Runner
6.15.Using Regular Expressions in Selenium IDE
6.16.Creating Selenium Test Suites
6.17.How to run the recorded script against other browsers
6.18.Why companies are not using recording tools
6.19.Limitations of Selenium IDE
7.C# Basics
7.1. Introduction to data types
7.2. Control Flows
7.3. Functions and Variables
7.4. Data Structures
7.5. Lists & More
7.6. Classes
7.7. Names and Objects
7.8. Inheritance
10:30am-10:45pm Morning Break
10:45pm-12:30pm
8.Selenium – JAVA language
8.1. Introduction
8.2. Data Types
8.3. JAVA variables
8.4. Java Modifier
8.5. Comments in JAVA
8.6. Flow Control – Conditional and Looping
8.7. Handling Exceptions and Assertions
8.8. Array Declaration, Construction and Initialization
8.9. Defining, Instantiating and starting Threads
8.10.Class and Object
8.11.Encapsulation
8.12.Inheritance
8.13.Polymorphism
8.14.Inner Classes
8.15.Overloading and Overriding
8.16.String Class
12:30pm-1:30pm Lunch
1:30pm-3:30pm
9.Selenium Core
9.1. Selenium Core Overview
9.2. Installing Selenium Core
9.3. Running Selenium Core Test Suites
3:30pm-3:45pm Afternoon Break
3:45pm-5:00pm
10.Selenese Selenium Commands
10.1.Verifying Page Elements
10.2.Introduction to Locating Elements
10.3.Locating elements by xPath
10.4.Locating elements by DOM
10.5.Introducing Matching Text Patterns
10.6.Matching Text Patterns – Regular expressions
10.7.The “AndWait” Commands
10.8.Sequence of Evaluation and Flow Control
10.9.Store Commands and Selenium Variables
10.10.Echo – The Selenese Print command
Day 3
9:00am-10:30am
11.Selenium RC (Overview)
11.1.Installing Selenium RC
11.2.Selenium RC Overview
11.3.Starting and Stopping Selenium Server
11.4.Creating the generic scripts in selenium
11.5.Creating the scripts by using functions
11.6.Selenium Client Libraries
11.7.Browser commands with examples
11.8.Interactive commands with examples
11.9.Information commands with examples
11.10.Validation commands with examples
11.11.How to take data from excel sheets
11.12.Why should we use excel sheets
11.13.How to take data from DB
11.14.Debugging the scripts
11.15.Maintaining the synchronization points
11.16.How to handle Pop-up’s and alert messages
10:30am-10:45pm Morning Break
10:45pm-12:30pm
12.Selenium Grid
12.1.Introduction of selenium Grid
12.2.Installation and setup of Hub and node
12.3.Script changes for Selenium grid execution
12.4.Simple script execution using grid
12.5.Parallel execution using grid
12:30pm-1:30pm Lunch
1:30pm-3:30pm
13.Selenium Webdriver
13.1.Introduction to selenium webdriver
13.2.Advantages of webdriver
13.3.Setting up Eclipse
13.4.Downloading and configuring Webdriver in Eclipse
13.5.Create our own methods in webdriver
13.6.Using RC commands from webdriver project
13.7.Project structure organization
3:30pm-3:45pm Afternoon Break
3:45pm-5:00pm
14.Selenium Webdriver
14.1.Introduction of Web Driver
14.2.Download & configuring Web driver
14.3.Architecture of selenium web driver
14.4.Drivers for Firefox, IE, chrome, I-phone, Android
14.5.First Selenium Code
14.6.Introduction to basic commands like get/navigate
14.7.Exception Handling in Selenium
14.8.Working with web page elements/Controls
14.9.Introducing wait - implicit and explicit wait
14.10.Handling different browsers - Firefox, Chrome and Internet Explorer browser
14.11.Taking screenshots
14.12.Handling Java script alerts, confirmations and prompts
14.13.Working with Windows, Tabs and Frames
14.14.Working with static and dynamic Web tables
14.15.Action class for Mouse and Keyboard Actions
14.16.File Upload and Download
14.17.Working with Proxy APIs
14.18.Converting Selenium IDE test to programming language (JAVA)
14.19.Detailed discussion about webdriver commands
14.20.Handling different browsers
Day 4
9:00am-10:30am
15.SeleniumDriver – IDE – JAVA – Junit
15.1.Junit Annotations
15.2.Testing Annotations
15.3.Testing Eclipse plugin
15.4.Thread
15.5.Exceptions
15.6.Webdriver Interface
10:30am-10:45pm Morning Break
10:45pm-12:30pm
16.How to use TestNG and Junit in Selenium
16.1.Introduction to TestNG
16.2.Why TestNG
16.3.Setting up TestNG
16.4.Working with TestNG
16.5.Advantages of TestNG over Junit
16.6.Exploring TestNG Features
16.7.How to Use TestNG Annotations
16.8.Data Driven Testing TestNG
16.9.TestNG Execution Report
16.10.TestNG Results output folder walkthrough
16.11.TestNG Reporting features
12:30pm-1:30pm Lunch
1:30pm-3:30pm
17.Working with Docker
17.1.Key commands for Docker
17.2.Networking with Docker
17.3.Docker Volumes
17.4.Managing files
17.5.Verification and Asserts
17.6.When to use verify and when to use assertions
17.7.Extracting values from a drop down
17.8.Echo, StoreEval and StoredVars Demystified.
17.9.Regular expressions usage.
3:30pm-3:45pm Afternoon Break
3:45pm-5:00pm
18.Concepts of Framework
18.1.Introduction to Framework
18.2.About Framework
18.3.Use of Framework
18.4.Different types of Framework
18.5.Modular framework
18.6.Data Driven framework
18.7.Keyword driven framework
18.8.Hybrid framework
18.9.Different types of packages in Framework
18.10.Use of Framework
18.11.How to develop the framework
18.12.Integration of the framework
18.13.How to execute the scripts from framework
Day 5
9:00am-10:30am
19.NUnit Framework - C#
19.1.Why NUnit and Its Advantages
19.2.NUnit Installation and Setup
19.3.NUnit Annotations Part
19.4.Prioritizing the tests using NUnit
19.5.Disabling Enabling the Testcases and putting Timeout
19.6.Including and excluding the Testcases from Execution
19.7.Importance of Groups in NUnit
19.8.Data driving Testing with NUnit
19.9.Parallel running of test cases
19.10.Report Generation
10:30am-10:45pm Morning Break
10:45pm-12:30pm
20.Data Driven Testing
20.1.Reading and writing data from Excel
20.2.Writing automation scripts to use excel data
12:30pm-1:30pm Lunch
1:30pm-3:30pm
21.Page Object Model (POM)
21.1.What is Page Object Model (POM)
21.2.Concept of Object Repository
21.3.Need for POM
21.4.Page Factory
21.5.Implementing POM
3:30pm-3:45pm Afternoon Break
3:45pm-5:00pm
22.Introduction to Jenkins
22.1.What is Jenkins
22.2.Why it is used ?
22.3.Installation and configuration of Jenkins
22.4.Backups in Jenkins
22.5.What is continuous Integration
22.6.Need and application for continuous Integration
22.7.Plugins in Jenkins
22.8.Setting up a Jenkins Job
22.9.Manage Jenkins Job
Programme scope, delivery arrangements and suitability are confirmed during enquiry.