EXPERT TRAINING PROGRAM [Selenium 2.0 TRAINING PROGRAM [Selenium 2.0 / WebDriver] COURSE OVERVIEW...
Transcript of EXPERT TRAINING PROGRAM [Selenium 2.0 TRAINING PROGRAM [Selenium 2.0 / WebDriver] COURSE OVERVIEW...
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.