Course Syllabus / Key Topics Covered
Introduction to Automation
- What is Automation testing?
- Drawbacks of Manual Testing
- Advantage and disadvantage of Automation testing
- What test cases can be automated?
- What test cases cannot be automated?
- Things to be done before automation testing
- Types of Automation tools
Different Components of Selenium
- Selenium IDE
- Selenium-RC
- Selenium WebDriver
- Selenium-Grid
Selenium IDE Introduction
- Introduction to Selenium IDE
- Installing Selenium IDE
- Selenium IDE icons
- Create and Execute Basic Scripts o Recording Tests
- Running a Test
- Selenium Concepts
- Element Locators
- Selenium Commands Actions
- Asserts
- Accessors
- Pattern Matches
- Element Locators
- Locating elements by ID
- Locating elements by name
- Locating elements by link text
- Locating elements by XPath
- Locating Elements by using CSS
- Summary
- Useful Selenium Tools
- Firebug for Firefox & Chrome
- Firepath for xpath generation
- IE developer tool bar
- Test suite
- What is Test suite?
- Creating Test Suite Using Selenium IDE
- Selenium IDE Overview
- Selenium IDE General Options
- Selenium Menu Items
- Format
Core Python
Introductory Sessions
- History of Python.
- Introduction
- Starting with Python
- Execute python scrip
Basic Data Types
- Indentation
- Data Types and Variables
- Operators
- Lists and Strings
- List Manipulations
- Shallow and Deep Copy
Advanced Data Types
- Dictionaries
- Set and Frozensets
- Tuple
- Input from keyboard
Conditional Statements
- If-else Block
- Loops, While Loop
- For Loop
- Iterators and Iterables
Output Formatting
- Output with Print
- String Modulo
- Format Method
Functions
- Introduction to Functions
- Recursion and Recursive Functions
- Parameter Passing in Functions
- Namespaces
- Global and Local Variables
- Decorators
File Operations
- Read and Write Files
- Modules
- Packages
WebDriver (Selenium3.0) with Project Implementation
WebDriver Introduction
• What is WebDriver?
• Why WebDriver?
• Difference between Web driver and Selenium RC
• Architecture of selenium web driver
• Configuring WebDriver in Eclipse
• Downloading WebDriver Jars and configuring in eclipse
• WebDriver Drivers introduction
• HTML Driver
• Firefox (OR) Gecko driver
• IE (OR) Microsoft Edge driver
• Chrome driver
• Working with IE Driver
• Downloading IE driver Server
• Configuring IE Driver Server
• Basic Example on IE Browser
• Working with Chrome driver
• Downloading Chrome driver server
• Configuring Chrome driver server
• Basic Example on Chrome browser
• Concept of firefox profile
• What is Firefox profile
• Why we need firefox Profile
• Basic WebDriver example
• WebDriver concepts
• WebDriver locators
• Locating elements by ID
• Locating elements by Class
• Locating elements by Tag
• Locating elements by Name
• Locating elements by Link Text
• Locating elements by Partial Link Text
• Locating elements by XPath
• Locating Elements by using CSS
• Working with web page elements using WebDriver
• Textbox
• Links
• Buttons
• Check Box
• Radio Button
• List Box
• Drop Down
• Selenium-WebDriver API Commands and Operations
• Driver commands like
• get(“url”);
• getTitle();
• getWindowHandle();
• getWindowHandles();
• close();
• quit(); ..etc
• Child element commands like
• clear();
• sendKeys(“Data”);
• click();
• getAttribute(“arg”);
• getTagName();
• getText();
• isDisplayed();
• isEnabled();
• isSelected(); ….etc.
• Webdriver all other commands.
• WebDriver Advanced Concepts
• Importing webDriver documentation in eclipse
• WebDriver desired capabilities class
• Proxy settings with webdriver/ working with proxy Servers
• HTMLUnit driver and desired capabilities
• Handling Links with WebDriver
• Handling webList
• Dynamic objects
• Extracting links and other webelements
• Capturing screenshots with WebDriver
• Window handles
• Tabbed browsing with WebDriver
• Example of Tabbed browsing
• Pop up handling in Selenium
• Example of Pop up handling
• Introducing Implicit wait and Explicit wait commands
• Web driver wait class
Introducing Actions class Usage
- Simulating the Keyboard Keypress event
• Simulating Pressing Enter Button of Keyboard
• Simulating Click andHold event
• Simulating Move to element/Mouse Over event
• Simulating Doubleclick event
• Simulating Drag and Drop event
• Working with web table
• How to get row count
• How to get data from specific cell
• Dynamic web table Handling
• Attaching files with Selenium
• Working with Calender using Selenium
• Setting the page load timeout- WebDriver.Timeout Interface
• Handling Frames in Web Page
• Handling cookies
• Simulating front and back button click on
• Listeners- Using WebDriver event listener
• Moving a mouse on object and right clicking on it
• Finding Coordinates of a Web Object
• Remote WebDriver
TestNG Framework
- Introduction to TestNG
• Difference between Junit and TestNG
• Why TestNG
• InstallingTestNG in Eclipse
• Advantages of TestNG over Junit
• Exploring TestNG Features
• TestNG annotations
• How to Use TestNG Annotations for Selenium programming.
• TestNG Annotations Complete Usage and Limitations
• TestNG Assert commands
• Automate tests using TestNG.
• xml file for suite.
• How to create testSuite for selenium tests.
• TestNG Execution Report
• TestNG Results output folder walkthrough
• TestNG Reporting features
AutoIT
- Installing Auto IT
• Auto IT Overview
• Why Auto IT?
• AutoIT components
• AutoIT commands
• AutoIT Script examples
• Compiling AutoIT scripts
• Write AutoITprograms in Eclipse
Automation Framework
What is Automation Framework
• Advantages of automation framework
• Types of automation framework
• Modular Driven Framework
• Data Driven Framework
• Hybrid driven framework
Modular Driven Framework
- What is modular driven framework
• Create reusable code as methods
• Create test scripts by importing methods
Data Driven Framework
- What is parameterization?
• Types of parameterization
• Parameterization using Excel
• Parameterization using Property files.
• Random number parameterization
Hybrid Driven Framework
- What is Hybrid Driven Framework
• Hybrid Driven Framework Implementation
• Create Config files
• Create Locators
• Create libraries files
• Create application methods
• Create Global variables
• Create Test scripts using TestNG Annotations
• Create Test Suite using TestNG XML files
• Generate Reports
• Create Builds using Maven
Selenium Grid
- What is Selenium Grid?
• Use of Selenium Grid?
• When to Use It
• Selenium-Grid 2.0
• Difference between Selenium-Grid 1.0 and Selenium and 2.0
• How Selenium-Grid Works–With a Hub and Nodes
• Installation
• Starting Selenium-Grid
• Configuring Selenium-Grid
• Hub Configuration
• Node Configuration
• Getting Command-Line Help
• Common Errors
• Troubleshooting
• Executing tests using Selenium- Grid
Selenium RC Overview
- Introduction
• How Selenium RC Works
• Installation
• From Selenese to a Program
• Programming Your Test
• Learning the API
• Reporting Results
• Adding Some Spice to Your Tests
• Server Options
• Specifying the Path to a Specific Browser
• Selenium RC Architecture
Maven and Jenkins
- What is Maven
• Difference between ANT and Maven
• Why Maven
• Maven installation
• Maven run commands
• POM XML
• Maven dependencies
• All plugins installations,
• Create builds using Maven
• Introduction to Jenkins
• How to integrate Selenium and Jenkins
Real Time Process for Automation Testing
- Introduction About Framework
• What is feasibility study
• Tool Selection criteria
• What is POC
• Hybrid frame work creation
• Automate Test Cases
• Name Conventions
• Local Scope Variables
• Global Scope Variables
• Constants variables
• General methods
• Object Repository Files
• Application methods
• Coding & Commenting Code
• Test Scripts Creation
• Test Suite Creation






















