11

EXPERT TRAINING PROGRAM [Selenium 2.0 TRAINING PROGRAM [Selenium 2.0 / WebDriver] COURSE OVERVIEW Automation and Automation Concepts Introduction to Test …

Embed Size (px)

Citation preview

EXPERT TRAINING PROGRAM [Selenium 2.0 / WebDriver]

COURSE OVERVIEW

Automation and Automation Concepts

● Introduction to Test Automation

● Test Automation Truths or Myths

● Where to use Test Automation and Where Not

● Test Automation Process

● What is Se-WebDriver

● History of Selenium

● Different set of tools

● Selenium Advantages and Limitations

SE – IDE

Introduction to Selenium IDE

● Installing Selenium IDE

● Recording Script

● What is Same Origin Policy

● Running, Pausing and debugging Script

● Running a script line by line

● Inserting commands in between script

● Colour coding in Selenium Test

● Locators and installing firebug to get Locators

● Wait Commands

● Selenese - Actions, Accessors and Assertions

● Verification and Assertions

● Should I use verify or assertion

● Selenium IDE and Challenges

● User-extension.js in Selenium IDE

● Using if statements and loops in IDE.

● Echo, StoreEval and StoredVars Demystified

● Creating your own user extensions.

● Making a function in user extension to generate random email address.

● Extracting all values of dropdown.

● Reading XML from JavaScript using DOM.

● Parameterize your IDE test cases with customized use extension and XML.

● Regular Expressions in Selenium IDE.

● Handling JavaScript Alerts

● Capturing screenshots from Selenium IDE

● Run test from cmd line on other browsers

JAVASCRIPT

Introduction to JavaScript

● History

● Definition

● Advantages

● Limitations

● Usage

● Commenting in JavaScript

● Data Types

● Variable

● Operators

● Conditional Constructs

● Looping Constructs

● Alert, Confirmation, Prompts

● Functions

JAVA

Introduction to Java

● What is java?

● Platform independence

● Programming language hierarchy

● Installing Java

● Camel casing

● Identifiers

● Java Components naming standards

● Java source file declaration rules

● Installing Eclipse

● Features of Java

● Why Java for Selenium

● First Eclipse Project

● First Java program

● Concept of class file

Classes and Objects

● Introduction to Package, Classes and objects

● Understanding Java Heap

● Creating first Class and Object

● Constructors

● Usage of Objects in Selenium

Variables, Access Modifiers and Datatypes

● Introduction to Variables (Local & Global)

● Primitive and Non-primitive variables

● Static and Non-Static Variables

● Variable Casting

● Object and Object References

● Primitive Data Types

● Reference/Object Data Types

● Access Control Modifier

● Non Access Modifier

Operators and Functions

● What are Methods?

● Method Input Parameters

● Method Return Types

● Pass by Value

● Encapsulation

● Getters and Setters

● Call by reference and Value

● Why is main method static?

● Different Operators

Decision and Looping Constructs

● If Statement

● Switch Statement

● While

● Do While

● For Loop

Arrays and Strings

● Single Dimensional Arrays

● Two Dimensional arrays

● Practical usage of arrays in Selenium

● Drawbacks of arrays

● Reference in an array

● ArrayList fundamentals

● String Class

● String Methods

Abstract Classes and Interfaces

● Abstract classes and methods

● Mother of all classes – “Object class”

● Polymorphic reference

● Object reference casting

● Deadly Diamond of Death

● Interfaces and its implementation

Exception Handling

● Introduction to Java Exceptions

● Catching exceptions using try/catch block

● Exception and Error

● Throwable Class

● The Final and Finally block

● Catching multiple exceptions

● Throw and Throws

● Different Types of Exceptions

Garbage Collection and Constructors

● Concept of Stack and Heap

● Methods and classes on Stack and Heap

● Constructors

● Constructor Overloading

● Constructor chaining and this() keyword

● Garbage collection eligibility

Object Oriented Programming Principles

● Inheritance

● Overriding

● Polymorphism

● Abstraction

● Encapsulation

● Interfaces

● Packages

Collections

● Introduction to Java collections

● Concept of generics

● Lists

● Sets

● Map

● Hashmap

Serialization and file I/O

● Saving objects state

● Writing serialized object

● I/O streams

● Serializable interface

● Deserialization

● Java IO file

● Reading/Writing a text file

● Reading Properties File in Java

Apache – POI & Jxl Jar

● Introduction to Apache-POI & Jxl

● Reading data from MS Excel file using POI & Jxl

● Creating MS Excel file using POI & Jxl

● Manipulating Excel file data using POI & Jxl

DataBase Handling

● JDBC concepts

● JDBC package

● Creating connection to a DataBase

● Accessing and manipulating tables

● Sql statements

Junit/TestNg

Introduction to Unit Testing Framework

● Introduction to Java Framework

● Configuring Junit 4/TestNg in Project/Eclipse

● Annotations

● Testing Java codes using JUnit/Testng

● Test Cases creation

● Creating Test Suite to test an application

● Skipping Tests

● parameterizing Tests – DataProvider

● Reading Excel files

● Assertions/Reporting Errors

● Error Collectors

● TestNg Reports

● Advantages over Junit

● Using TestNg in Selenium

● What is Ant

● Downloading and configuring Ant

● Build.xml configuration

● XSLT report generation generation using TestNg and Ant

● Building a BAT file to run tests using ANT

SELENIUM WEBDRIVER

● Why WebDriver?

● Selenium RC and Webdriver

● Downloading and configuring webdriver in eclipse

● Exploring Webdriver java docs

● WebDriver Interface

● Drivers for Firefox, IE, chrome, Iphone, Android etc

● First Selenium WebDriver Code

● Exploring more features of WebDriver

● WebDriver Features & Examples

● Opening multiple browsers at one time

● Close and Quit methods in Webdriver

● Understand Timeout & WebDriverWait

● What is Firefox profile

● Creating own Firefox profile

● Running test in multiple profiles

● HtmlUnitDriver

● Installing Firebug and FirePath Add-ons in Firefox

● Using Firebug and Firepath

● Handling Links with WebDriver

● Extracting Xpaths and relevance of Xpaths

● Identifying WebElements using id, name, linkname, class, xpath, tagname etc

● Handling Input Box/Buttons/ WebList/ Radio Buttons/ CheckBoxes

● Simulating keypress events such as buttons such as Enter, page up, pagedown, backspace etc.

● Handling java script messages

● Working with online captchas

● Attaching files with Selenium

● Mouse movement with Selenium- Mouse Interface

● Working with Calender using Selenium

● Online Webtables

● Extracting Data From WebTable

● Dynamic WebTable Handling

● Handling Mouse over Menus and Iframes

● Capturing screenshots with WebDriver

● Window handles

● Tabbed browsing with Selenium

● Pop up handling in Selenium

● Certificate error handling using WebDriver

● Listeners- Using WebDriverEventListener

● Practical usage of Listeners in Selenium

● Moving a mouse on Object and right clicking on it

● Finding Coordinates of a Web Object

● Actions class in Webdriver

● Working with Javascriptexecutor

● Drag and Drop

● Generating Logs using Log4J & Selenium

● Downloading and configuring chrome driver

● How to find Xpaths through Chrome developer tool

● Generating your own Xpaths

● Handling multiple pop ups/tabs in Chrome

● How to use Regular Expression in WebDriver

AUTOMATION FRAMEWORK

Automation Frameworks

● Data Driven

● Script Modularity

● Keyword Driven

● Hybrid

Automation Framework Concepts

● Benefits

● How to Approach

● Implement Framework

● Automate scenarios using Framework

Note: Practical implementation of all above concepts will be done by automating an application with self-created Automation framework.

Automation framework.