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 Introduction to JavaScript History Definition Advantages Limitations Usage Commenting in JavaScript Data Types Variable Operators Conditional Constructs Looping Constructs Alert, Confirmation, Prompts Functions Introduction to Java What is java? JAVASCRIPT 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 Frameworks Data Driven Script Modularity Keyword Driven Hybrid AUTOMATION FRAMEWORK
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.