Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
@999 (75% off)
Learn Advance Selenium
Online Video Course # Life time access with new Updates.
# Basic to Advance level Course
# Total Sessions : 65 Videoes / Total Duration : 138 Hrs
# www.stqatools.com
# Buy Course from below link and get video access on your Google drive
https://www.instamojo.com/tutorialsninja/selenium-training-videos-beginners-to-
advanc/?affiliate=Stqatools
*** Any Query ***
Mail : [email protected]
1. Introduction to Selenium
Selenium Prerequisites What
is Manual Testing ? What is
Automation Testing ? What
is Regression Testing ? Why
Automation ? Role of Java in
Selenium
Automation Basics
What is Selenium ?
Different automations tools
Selenium Automation Tools
Selenium Automation capabilities
Is Selenium commercial ?
Programming languages support
Operating Systems support
Different Browsers support
What is Selenium IDE ?
What is Selenium RC ?
What is Selenium WebDriver ?
What is Selenium Grid ?
History of Selenium
Different versions of Selenium
2. Firebug, HTML and Selenium IDE
Firefox Browser Installation About FireBug Manually Create Test Cases using IDE
FireBug Add-on Installation FireBug options Highlight the elements using IDE
Launching FireBug Add-on Inspecting Elements using FireBug Saving Selenium IDE Test Cases
HTML Basics Selenium IDE Installation Executing IDE Test Cases as Test Suite
Structure of HTML Launching Selenium IDE
HTML Examples Record & Playback using Selenium IDE
3. Selenium IDE Part – Two
Selenium IDE Advantages Auto Complete Feature Edit Menu options
Selenium IDE Disadvantages Selenium IDE Components Actions Menu options
Selenium IDE Features File Menu options
4. Selenium IDE Part – Three
Options Menu
Selenium IDE options
Setting default timeout value
Selenium core extensions
Remembering base URL
Automatically recording assert title
Recording on opening Selenium
IDE Recording Absolute URL
Enabling experimental features
Default HTML format Resetting
options
Formats Tab
Plug-ins Tab
File Logging Example Plugin
Clipboard Format options
Clear History options
Resetting IDE window
5. Selenium IDE Part-4, HTML Part-2, Locators and other pre-requisites
Help Menu options of Selenium IDE
Base URL bar
Tool Bar options
Test Case pane
Introduction to Locators
Pre-requisites Internal CSS
Different types of Locators External CSS
Other HTML concepts XML for Selenium
CSS for Selenium XPATH for Selenium
Inline CSS JavaScript for Selenium
6. DOM and Selenium IDE Part – Five
Document Object Model Locating elements using DOM Assert versus Verify commands
Purpose of DOM Selenium IDE Editor Pane Selenium IDE Selenese Commands
Accessing DOM using JavaScript Table Tab Handling Popups using IDE
DOM functions Command Dropdown field Handling AJAX Applications using IDE
7. Selenium IDE Part – 6
Other Selenium IDE Selenese commands TestNG Results plug-in Advantages of Selenium IDE
Highlight elements plug-in Categorizing Selenese commands Disadvantages of Selenium IDE
Locator Builders tab Right Click options
8. Locators Part-2
Locators in detailed identifier locator xpath expressions
Different types of Locators link locator Types of xpath
id locator class locator Absolute xpath
name locator xpath locator
Relative/Direct xpath
Advantages of Relative xpath
Locating elements using Relative xpath
xpath functions
text() xpath function
9. Locators Part-3
contains() xpath function xpath Syntax
starts-with() xpath function xpath operators
last() xpath function xpath optimization
position() xpath function Generating xpath using Firepath
xpath AXES
10. Locators Part-4
CSS Locators CSS Selectors optimization Locating elements using DOM
Absolute CSS Selectors Generating CSS Selectors using Firepath Absolute DOM
Relative CSS Selectors DOM Locators Relative DOM
Locating elements using CSS Selectors DOM and JavaScript
11. Concluding Locators and Introducing Java
Locators Priority Chrome Developer Tools Non-Object Oriented Languages
Categorizing Locators IE Developer Tools Class
Attribute based Locators Locators and Selenium WebDriver Object
Structure Dependent Locators Introduction to Java Importance of Java in Selenium
Developer Tools Demonstrating Sample Java Program Difference between JDK, JRE and JVM
Firefox Developer Tools Object Oriented Programming Language Java Versions
12. Java Part-2
Downloading Java JDK Java Path Setting Eclipse IDE
Downloading Java JRE Editors for Java Code Development Downloading Eclipse IDE
Installing Java JDK TextPad Launching Eclipse IDE
Verifying Java JDK Installation Downloading TextPad Creating Java Projects in Eclipse IDE
Compiling and Running Java Program Installing TextPad Compiling and Running Java Program
using Command Prompt Compiling and Running Java Program
using Eclipse IDE
Configuring Java JDK on windows using TextPad editor
Machine
13. Java Part-3
Java Project project Navigating to Java Project Workspace
TextPad versus Eclipse IDE Benefits of Eclipse IDE JRE System Library
Java Project Folder Structure Other IDE Editors in the market Eclipse IDE Auto Compiling Feature
Java Project Naming Convention Understanding a Simple Java Program Running Java Programs in Eclipse IDE
src folder Create a Class Viewing Output in Eclipse IDE
setting folder Creating main method Print Statements in Java
classpath Other details on Eclipse IDE Comments in Java
14. Java Part-4
Storing Data using Java Local Variables Storing boolean values
Variables Instance Variables Storing text
Data Types Storing integer values Type mismatch
Literals Storing decimal values Auto Type conversion
Types of Variables Storing character values
15. Java Part-5
Arrays Literals String Literals
Primitive Data Types Boolean Literals Numeric Literals
Non-Primitive Data Types Character Literals Escape Characters
16. Java Part-6
Operators Increment Operator Less Than Or Equal to Operator
Categorizing the Operators Decrement Operator Logical Operators
Arithmetic Operators Relational Operator Logical AND Operator
Addition Operator Equal to Operator Logical OR Operator
Subtraction Operator Not Equal to Operator Logical NOT Operator
Multiplication Operator Greater Than Operator Assignment Operators
Division Operator Less Than Operator Simple Assignment Operator
Modulus Operator Greater Than Or Equal to Operator
17. Java Part-7
Compound Assignment Operators Other Operators Operators and Print Statements
Add AND Assignment Operator Conditional Operator Decision Making Structures
Subtract AND Assignment Operator Operator Precedence if statements
Multiply AND Assignment Operator Bitwise Operators if …. else statements
Dividing AND Assignment Operator Bitwise Compound Assignment Operator nested if statements
Modulus AND Assignment Operator instanceof Operator switch statements
18. Java Part-8
Flow Control Statements do while loop Using break statements in switch case
Different Flow Control Statements for loop Using break statements in loops
Selection Statements for-each loop Using break statements in labeled blocks
Iterative Statements Transfer Statements continue statements
while loop break statements Using continue statements in loops
19. Java Part-9
Methods Parameters Array Declaration
main() method Return Type Array Creation
Creating user defined methods Class Array Initialization
Naming convention of methods Object Shortcut Representation of Array
Parameterized methods Arrays ArrayIndexOutOfBoundsException
Arguments Single Dimension Arrays
20. Java Part-10
Two Dimensional Array 3D Array Declaration Disadvantages of Arrays
2D Array Declaration 3d Array Creation Variables
2D Array Creation 3D Array Initialization Local Variables
2D Array Initialization Accessing 3D Array Elements Instance Variables
Accessing 2D Array Elements 3D Arrays and length predefined variables static Variables
2D Arrays and length predefined variable 3D Arrays and for loops Primitive type variables
2D Arrays and for loops Shortcut representation of 3D Array Class type variables
Shortcut representation of 2D Array Arrays and Data Types Array type variables
Three Dimensional Array Arrays and Object Class
21. Java Part-11
static modifier Constructors this keyword and Constructors
static methods Constructors and Object Creation Method overloading
non-static methods this keyword Constructor overloading
Dealing Multiple Classes this keyword and Methods
22. Java Part-12
packages Hierarchy of Packages Method Overriding
Advantages of Packages Inheritance super keyword
Default Packages extends keyword super keyword and methods
Package Creation Inheritance Rules super keyword and constructors
23. Java Part-13
Objects Returning Objects Instance blocks
Assigning Objects Passing Objects to Constructors static blocks
Dynamic Method Dispatch Nameless Objects
Passing Objects as Arguments Classes
24. Java Part-14
Modifiers Using public with Variables and Methods Using final with Variables
Using Access Modifiers with Classes Using private with Variables and Methods Using final with Classes
Using public with Classes Using default with Variables and Methods Using final with methods
Using private with Classes Using protected with Variables and Using abstract with methods
Using default with Classes Methods
Using abstract with Classes
Non-Access Modifiers
Using Access Modifiers with Variables
and Methods static Non-Access Modifier
25. Java Part-15
Interfaces Using implements keywords Interfaces and Object creation
Interface Syntax Interfaces versus abstract classes Working with Interfaces
Interface Creation Instance variables in Interfaces
26. Java Part-16
Exceptional Handling Exception Checked Exceptions
try catch blocks Throwable Unchecked Exceptions
Exceptions Hierarchy Multiple Catch Blocks finally
Arithmetic Exception Printing Exception Details
ArrayIndexOutOfBoundsException Using throw
27. Java Part-17
Strings Converting integer to String Creating a file
String Class methods Handling Files Reading from Files
Converting String to integer File Class
28. Java Part-18
Wrapper Classes UnBoxing List Interface
Primitive Data Types AutoBoxing ArrayList
Wrapping AutoUnBoxing Map Interface
Purpose of Wrapping Collection Framework HashMap
Different types of Wrapper Classes Collections Calling the methods using String text
Boxing Hierarchy of Collections Framework
Classes and Interfaces
29. Selenium WebDriver Part-1
Selenium Components Selenium WebDriver versus Selenium RC JAR files
Selenium IDE Selenium 1 Purpose of JAR files
Selenium RC Selenium 2 Creating a JAR files in Eclipse IDE
Drawbacks of RC Downloading Selenium 2
Selenium WebDriver Configuring Selenium 2
30. Selenium WebDriver Part-2
Working with different browsers Working with Chrome browser Better way to create driver Object
Working with Firefox browser Working with Internet Explorer browser
31. Selenium WebDriver Part-3
Selenium and Browser Compatibility Internet Explorer compatibility with Selenium WebDriver API Commands
Firefox browser compatibility with
Selenium 2 version get() command
Selenium 2 version Selenium API manage().window().maximize()
Chrome browser compatibility with
API
Selenium 2 version
32. Selenium WebDriver Part-4
By Class linkText() method of By Class WebDriver interface
Predefined methods of By Class partialLinkText() method of By Class WebElement interface
id() method of By Class cssSelector() method of By Class
name() method of By Class xpath() method of By Class
className() method of By Class tagName() method of By Class
Predefined methods of WebDriver
and WebElement interfaces
findElement() method of
WebDriver interface
click() method of WebElement
interface Using click() with a link
Using click() with a button
Using click() with a checkbox option
Using click() with a radio option
33. Selenium WebDriver Part-5
Using click() with a text box field
Using click() with a text area field
sendKeys() method of
WebElement interface
Using sendKeys() with text box field
Using sendKeys() with password field
Using sendKeys() with text area field
Using sendKeys() with dropdown field
clear() method of WebElement
interface Using clear() with text box
field Using clear() with text area field
getText() method of WebElement interface
getTitle() method of WebDriver interface
getCurrentURL() method of
WebDriver interface
close() method of WebDriver interface
34. Selenium WebDriver Part-6
getAttribute() method of WebElement Retrieving all the links in a section
interface Clicking all the links in a section one after
findElements() method of WebDriver the another
interface
StaleElementReferenceException
findElements() method of WebElement
interface
quit() method of WebDriver interface
findElements() method of
WebDriver interface
findElements() method of
WebElement interface
ArrayList
Retrieving all the links on a page
Retrieving all the links on a page
Retrieving all the text boxes on a page
35. Selenium WebDriver Part-7
Retrieving all the textboxes on a page
Retrieving all the links in a section
Retrieving all the links in a section
and clicking one after the other
StaleElementReferenceException
Reasons behind StaleElementReferenceException
Two Ways to avoid
StaleElementReferenceException
Best way to avoid
StaleElementReferenceException
36. Selenium WebDriver Part-8
findElements() of WebDriver interface Improvising the best way Using findElements() with radio options
Best way to resolve the findElements() of WebElement interface Using findElements() with checkbox
StaleElementReferenceException options
37. Selenium WebDriver Part-9
isDisplayed() method of
WebElement interface
Purpose of isDisplayed() method
isEnabled() method of
WebElement interface
Purpose of isEnabled() method
isSelected() method of
WebElement interface
Using isSelected() with radio options Using navigate() to refresh the page
Using isSelected() with checkbox options getPageSource() method of WebDriver
navigate() method of WebDriver interface interface
Purpose of getPageSource() Using navigate() to navigate backward
Using navigate() to navigate forward
Handling Multiple Windows
Iterator interface
hasNext() of Iterator interface
next() of Iterator interface
38. Selenium WebDriver Part-10
iterator() method of Collection interface
Set interface
HashSet class
add() method of HashSet
39. Selenium WebDriver Part-11
Difference between ArrayList and
HashSet classes
getWindowHandles() of
WebDriver interface
switchTo() of WebDriver interface
Handling Alerts Retrieving all the table headings Retrieving the data in third column of the
table
Alert interface
getText() method of Alert
interface accept() method of Alert
interface Switching back to main
window Handling Web Tables
Usage of Xpath in handling Web Tables
Waiting Mechanism
NoSuchElementException
Thread.sleep()
Implicit Wait
Explicit Wait
Wait interface
Retrieving table data without
table headings
Retrieving rows in a table
Retrieving the data in first column of
the table
Retrieving the data in second column
of the table
40. Selenium WebDriver Part-12
WebDriverWait Class
FluentWait Class
ExpectedConditions
until() method of Wait interface
visibilityOfElementLocated(locator)
method
elementToBeClickable(locator) method
41. Selenium WebDriver Part-13
Retrieving headings in first row of
the table
Retrieving data in second row of the table
Retrieving data in fourth row of the table
Retrieving data in a cell based on the
value of another cell in the same row
invisibilityOfElementLocated(locator)
method
Selenium WebDriver timeout
Default Timeout of Selenium WebDriver
pageLoadTimeOut() method
TimeOutException
Select Class deselectByVisibleText() method getAllSelectedOptions() method
Predefined methods of Select Class deselectByIndex() method getFirstSelectedOption() method
selectByVisibleText() method deselectByValue() method isMultiple() method
selectByIndex() method deselectAll() method
selectByValue() method getOptions() method
42. Selenium WebDriver Part-14
Handling Mouse Actions dragAncDropBy() dragAndDrop()
Actions Class clickAndHold() Handling Keyboard Actions
Predefined methods of Actions Class release() sendKeys()
moveToElement() contextClick() chord()
click() doubleClick()
43. Selenium WebDriver Part-15 and AutoIt
Uploading a file Downloading AutoIt tool Variables in AutoIt tool
Using sendKeys() for uploading a file Installing AutoIt tool Invoking AutoIt code from Java program
AutoIt tool Pre-defined methods in AutoIt tool Using AutoIt for uploading a file
44. Selenium WebDriver Part-16
Handling Frames Parent Frames and Child frames Possibilities where switching between
Frames Switching between Parent and Child frames in not allowed
Using switchTo() for handling frames frames
Possibilities where switching between
frames is allowed
45. Selenium WebDriver Part-17
Handling Cookies Cookie class in Selenium Using predefined methods of Cookie class
What are Cookies Retrieving Cookies
Purpose of Cookies Performing operations on Cookies
46. Selenium WebDriver Part-18 and few Java Concepts
Handling Random Activities Calendar Class Parse() method
Random Class getInstance() method Handling Calendar table in Selenium
nextInt() method get() method Handling ‘Submit’ button in forms
Using Random Class and nextInt() in setTime() method submit() method
Selenium SimpleDateFormat Class
Handling Calendar
47. Selenium WebDriver Part-19
Handling Firefox Profiles ProfilesIni Class setPreference() method
Multiple Profiling getProfile() method Modifying Firefox preferences
Browsers and Multiple Profiling Downloading Files using Selenium
Opening a specific Profile FirefoxProfile Class
48. Selenium WebDriver Part-20
Enabling Native Events FirefoxProfile Class setAcceptUntrustedCertificates() method
Native Events setEnableNativeEvents() method Handling Untrusted Certificate Errors
Synthetic Events
Handling Untrusted Certificate Errors
using Desired Capabilities
setCapability() method
Enabling Native Events in Firefox
SSL Certificate
49. Selenium WebDriver Part-21
Executing JavaScript using Selenium JavaScriptExecutor interface Using varargs in executeScript() method
Why JavaScript is the final solution executeScript() method
Using JavaScript and DOM together varargs in Java
50. Selenium WebDriver Part-22
Event Listener in Selenium afterNavigateForward() method afterChangeValueOf() method
EventFiringWebDriver Class beforeNavigateRefresh() method beforeScript() method
WebDriverEventLIstener interface afterNavigateRefresh() method afterScript() method
beforeNavigateTo() method beforeFindBy() method onException() method
afterNavigateTo() method afterFindBy() method Implementing EventFiringWebDriver
beforeNavigateBack() method beforeClickOn() method
interface
register() method afterNavigateBack() method afterClickOn() method
unregister() method
beforeNavigateForward() method beforeChangeValueOf() method
51. Selenium WebDriver Part-23
Handling Lightbox getScreenshotAs() method Base64 Class
Taking Screenshots Password Encryption encodeBase64() method
TakeScreenshot interface Password Decryption decodeBased64() method
52. Framework Concepts – Properties Files
Properties Files Implementing Properties files in Java Retrieving the Project data from the
Purpose of Properties Files Purpose of Properties Files in Selenium Properties Files
Automation Frameworks
53. Framework Concepts – POI API
POI API XSSF implementation
Official Website Purpose of POI API
Downloading POI API Reading data from Excel Files
HSSF implementation Writing data into Excel Files
Implementing POI API in
Automation Framework
Creating user defined methods using
POI API
54. Framework Concepts – Log4j API
Log4j API Debugging using SOP statements Downloading Log4j
Purpose of Log4j API Disadvantages of SOP statements in Implementing Log4j in Selenium
Debugging logging Automation Frameworks
Advantages of Log4j API in logging
55. Framework Concepts – TestNG
TestNG Skipping the tests Hard Assertions
TestNG installation Failing the tests Soft Assertions
TestNG annotations Parameterizing the tests Executing Multiple Test Suites from a
Executing Java files in batch using TestNG TestNG Assertions
Single Master testng xml file
56. Framework Concepts – ANT
ANT Configuring ANT Executing tests using batch file
Downloading ANT build.xml file XSLT Reports
57. Framework Concepts – Maven
Maven Creating Maven Project Maven Life Cycle Phases
Maven versus ANT Running the tests using pom.xml
Installing Maven Eclipse IDE Plug-in Combination of testng and pom.xml
58. Data Driven Framework and Selenium Grid
Data Driven Framework Execute tests in a serial way
Demo Project Execute tests in a parallel way
Creating Maven Project Selenium Grid
Source Folders Configuring Hub and Node Machines
Grid Console
Configuring ANT
Generating XSLT Reports
Execute the tests using Bat file
59. Keyword Driven Framework and Hybrid Framework
Hybrid Framework Source Folders Configuring ANT
Combination of Keyword Driven Generic Keywords Executing tests using BAT file
Framework and Data Driven Framework App Keywords
Demo Project
Extent Reports
Creating Maven Project
60. Jenkins, Git and GitHub
Working on a project in group Installing Git Creating Jenkins Project
GitHub Jenkins Invoking ANT from Jenkins
Creating a GitHub account Downloading Jenkins Install TestNG results Plugin in Jenkins
Creating a GitHub Repository Installing Jenkins View TestNG results in Jenkins
Git Configuring GitHub to work with Jenkins
61. Page Object Model, Page Factory and Selenium 3
Page Object Model Design pattern Page Factory initElements()
Design Patterns Advantages of Page Factory Selenium 3
Advantages of Page Object Model @FindBy Geckodriver
62. Extent Reports
ExtentReports Class Reports folder Adding System Info
ExtentTest Class ReportsConfig.xml
Configuring required Jars Naming reports with current time stamp Displaying logs and screenshots in the
reports
63. Build Data Driven Frameworks from scratch
Data Driven Testing Providing required dependencies Properties files
Data Driven Framework Creating sub packages Creating Test Classes
Demo Application Configuring POI API Developing Framework from scratch
Creating Maven Project Configuring Extent Reports Download Developed Framework
Creating Source folders Utility and reusable methods
64. Build Page Object Model & Page Factory implemented Framework from scratch
Page Object Model Design pattern Configuring POI API Page Factory
Advantages of Page Object Model Configuring Extent Reports Advantages of Page Factory
Creating Maven Project Utility and reusable methods @FindBy
Creating source folders Constants initElements()
Providing required dependencies Creating Pages Classes Developing Framework from scratch
Creating sub packages Creating Test Classes Download Developed Framework
65. Cucumber and BDD
Cucumber Create Maven Project Creating Step Definitions
Behavior Driven Development Configure dependencies Creating Test Runner Class
Advantages of BDD Install Eclipse IDE Plugins Download Cucumber & BDD Project
Feature Files and Gherkin Creating Feature Files