EIEIOTECHNOVATION
← Training programmes

EIEIO / AUTOMATION & EMERGING TECHNOLOGY

Selenium

Course outline

5 days

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.