1. What Do You Mean By Selenium?
Selenium is a series of automated tools used in the testing of a website.
2. What is selenium composed of?
Selenium is composed of
• Selenium IDE
• Webdriver
• Grid
3. How An Element Is Found Using Selenium?
There are various ways to find an element in a web page using selenium. They are
• ID
• Name
• CSS
• Tag
• Attribute
• Link text
• Partial link text
4. What Are Types Of Test Supported By Selenium?
The types of test supported by selenium are:
• Functional
• Regression
5. List The Advantages Of Selenium.
• Selenium supports Java, Python, PHP
• It supports Windows and Linux
• It is capable of locating elements like XPath, CSS, etc.
• Selenium has a high developer community which is supported by Google
• Introduction to selenium
• Selenium architecture
• Locator concept and techniques
• Selenium IDE
• Selenium setup
• Selenium RC
• Web Driver
• TestNG
• Auto IT
• Selenium Grid
SECTION 1
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
SECTION 2
Different Components of Selenium
• Selenium IDE
• Selenium-RC
• Selenium WebDriver
• Selenium-Grid
SECTION 3
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
SECTION 4
Core Python
Introductory Sessions
• History of Python
• Introduction
• Starting with Python
• Execute python script
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
SECTION 5
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
SECTION 6
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
SECTION 7
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
SECTION 8
AutoIT
• Installing Auto IT
• Auto IT Overview
• Why Auto IT?
• AutoIT components
• AutoIT commands
• AutoIT Script examples
• Compiling AutoIT scripts
• Write AutoITprograms in Eclipse
SECTION 9
Automation Framework
• What is Automation Framework
• Advantages of automation framework
• Types of automation framework
• Modular Driven Framework
• Data Driven Framework
• Hybrid driven framework
SECTION 10
Modular Driven Framework
• What is modular driven framework
• Create reusable code as methods
• Create test scripts by importing methods
SECTION 11
Data Driven Framework
• What is parameterization?
• Types of parameterization
• Parameterization using Excel
• Parameterization using Property files.
• Random number parameterization
SECTION 12
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
SECTION 13
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
SECTION 14
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
SECTION 15
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
SECTION 17
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