Description
Course Highlights: We are providing Selenium Training and the following are its highlights :
- Easy for Beginners
- No pre-requisites required.
- Core Java required for Selenium will be covered as part of this course only
- All the concepts will be explained in a practical way
- All the sessions will be solution oriented, rather than just theoretical
- Step by Step and Organized way of explanation
- All the installations/configurations will be practically shown
- Real-Time eCommerce Automation Project
- To differentiate ourselves from the other trainers in the market, we will practically demonstrate a complete Real-Time eCommerce Automation Project.
- This project will be demonstrated from the inception phase to the maintenance phase to make it more real.
- Beginners to Advanced course
- This is not just a beginners course, but also for the one who knows Selenium but never worked in any real time projects
- Other Specialities:
- Videos will be recorded and sent to you after the respective sessions.
- Class Room Notes along with the videos will also be provided.
- All the programming code, Frameworks, Real-time projects code will be provided as part of the notes.
- Interview Questions will be provided.
- Assignments/Tasks/Exercises will be provided for your practice.
- Will help you in Resume preparation and other interview needs even after the completion of course.
- This is going to be an interactive session.
- All the Framework concepts will be explained first, before explaining the Automation Frameworks
- Frameworks will be created/demonstrated from scratch
- Certificate of course completion will be provided at the end of this course.
Sample videos:
- (Core Java Introduction) https://youtu.be/jGdStDZHZO8
- (Page Object Model Part 1) https://youtu.be/eQfa0c45zeM
Course Content:
=> Introduction to Selenium
- Manual Testing
- Automation Testing
- How can a Tool perform Testing?
- Selenium
- Types of Applications that Selenium can automate
- Selenium is a free tool
- Different Browsers supported by Selenium
- Different Operating Systems supported by Selenium
- Different Programming Languages supported by Selenium
- Different components in Selenium
- Different versions of Selenium
- Pre-requisites required for learning Selenium
=> Firebug & HTML
- Installing the older version of Firefox Browser
- Installing FireBug
- HTML Basics
- Introduction to HTML
- HTML Elements & Tags
- Structure of HTML
- Demonstrating of different HTML Elements
- Creating and Saving an HTML file
- Creating Structure for a Web Page
- Adding Title to the Web Page
- Different sizes of Page Heading
- The header section of Web Page
- The body section of Web Page
- Adding a link to a Web Page
- Displaying a ruler on the Web Page
- Creating line breaks in HTML
- Creating HTML Table
- Creating Order lists
- Creating Unordered lists
- Creating Bold Text
- Creating Italicized Text
- Creating Underlined Text
- Viewing Page Source in a Browser
- FireBug
- Web Developer Tool
- Editing HTML elements using FireBug
- Inspecting UI elements using FireBug
=> Selenium IDE
- What is Selenium IDE?
- Record and Playback Tool
- Installing Selenium IDE
- Launching Selenium IDE
- Recording Test Cases using Selenium IDE
- Saving Test Cases in Selenium IDE
- Playing the Test Cases in Selenium IDE
- Disadvantages of Selenium IDE
=> Locators
- Introduction to Locators
- Different types of Locators
- Demonstrating different types of Locators
- Priority of Locators
=> XPath Expressions
- Introduction to XPath Expressions
- Types of XPath Expressions
- Absolute Xpath
- Demonstrating Absolute XPath Expressions
- Using Firepath for Auto-generating XPath Expressions
- Disadvantages of using Absolute XPath Expressions
- Relative XPath Expressions
- Difference between Absolute and Relative XPath Expressions
- Demonstrating Relative XPath Expressions
- Using Firepath for auto-generating Relative XPath Expressions
- Advantages of Relative XPath Expressions
- XPath Functions
- Demonstrating XPath Functions
- XPath Axes
- Demonstrating XPath Axes
=> CSS Selectors
- Introduction to CSS Selectors
- Types of CSS Selectors
- Absolute CSS Selectors
- Demonstrating Absolute CSS Selectors
- Relative CSS Selectors
- Difference between Absolute and Relative CSS Selectors
- Demonstrating Relative CSS Selectors
- Using Firepath for auto-generating Relative CSS Selectors
=> Core Java
- Introduction to Java
- Installing Java
- Installing Eclipse IDE
- Creating Java Project in Eclipse IDE
- Executing Java Project in Eclipse IDE
- Understanding Java Programs
- Compiler Errors
- Print Statements
- Using print
- Using println
- Comments
- Single Line Comments
- Multi-Line Comments
=> Variables
- What are Variables?
- Purpose of Variables in Java
- Different types of Variables
- Local Variables
- Instance Variables
=> Data Types
- What is Data Types?
- Different Types of Data Types in Java
- byte
- short
- int
- long
- float
- double
- char
- boolean
- Demonstrating different Data Types in Java
=> Operators
- What are the Operators?
- Different Types of Operators in Java.
- Arithmetic Operators
- Relational Operators
- Logical Operators
- Assignment Operators
- Assignment Operator
- Compound Assignment Operators
- Conditional Operator
- Demonstrating the Operators in Java
=> Flow Control
- What is Flow Control?
- Different types of Flow Control Statements in Java
- Selection Statements
- if statements
- if else statements
- if .. else if .. Else statements
- switch statements
- Iterative Statements
- While loop
- Do while loop
- For loop
- For each loop
- Transfer Statements
- break statement
- continue statement
- return statement
- try, catch & finally statements
- Selection Statements
=> Methods
- What are Methods in Java?
- What is the Purpose of Methods in Java?
- main() method
- Creating non-main methods
- Creating multiple methods inside the same Class
- Method Calling
- Parameterized Methods
- Return Type
=> Arrays
- What are Arrays in Java?
- Types of Arrays
- Single Dimensional Arrays
- Demonstrating Single-Dimensional Arrays
- Declaring Single-Dimensional Arrays
- Creating Single-Dimensional Arrays
- Initializing Single-Dimensional Arrays
- Accessing Single-Dimensional Arrays
- Two Dimensional Arrays
- Demonstrating Two Dimensional Arrays
- Declaring Two Dimensional Arrays
- Creating Two Dimensional Arrays
- Initializing Two Dimensional Arrays
- Accessing Two Dimensional Arrays
- Three Dimensional Arrays
- Object Arrays
- Disadvantages of Arrays
=> Strings
- What are the Strings?
- Purpose of Strings in Java
- Shortcut representation of Strings
- The actual representation of Strings
- Concatenating Two Strings
- Demonstrating Pre-defined methods of Strings (equals(), length(), substring(), trim(), indexof() and split() )
=> Wrapper Classes and Primitive Datatypes
- What are wrapper classes?
- What are primitive data types?
- Different Primitive Data Types
- Different Wrapper Classes
- Converting Primitive data types to Objects
- Demonstrating Wrapper Classes and Primitive Data Types
=> Constructors
- What are Constructors?
- Difference between Constructors and Methods
- Purpose of Constructors in Java
- Demonstrating initialization of Variables without Constructors
- Demonstrating initialization of Variables with Constructors
=> this keyword
- Purpose of this keyword in Java
- Using this keyword with methods
- Using this keyword with constructors
- Demonstrating the program using this keyword with methods
- Demonstrating the program using this keyword with constructors
=> Overloading
- What is Overloading in Java?
- Method Overloading
- Constructor Overloading
- Demonstrating Method Overloading
- Demonstrating Constructor Overloading
=> Packages
- What are Packages?
- Purpose of Packages in Java
- Default Packages
- Creating Packages
- Demonstrate Packages
- Demonstrate accessing variables and methods in the same package
- Demonstrate accessing variables and methods defined in other packages
=> Inheritance
- What is Inheritance?
- Purpose of Inheritance in Java
- Super Class / Parent Class
- Sub Class / Child Class
- Using extends keyword
- Demonstrate a Child class inheriting the properties of a Parent Class
=> Overriding
- What is Overriding?
- Purpose of Overriding in Java
- Method Overriding
- Creating Objects and accessing Overridden Properties
- Demonstrating Overriding
=> Modifiers
- What are Modifiers in Java?
- Purpose of Modifiers
- Types of Modifiers
- Access Modifiers
- private
- public
- protected
- default
- Non-Access Modifiers
- static
- final
- abstract
- Access Modifiers
=> Interfaces
- What are the Interfaces?
- Purpose of Interfaces in Java
- Difference between Classes and Interfaces
- Creating an Interface
- Creating variables in Interfaces
- Creating methods in Interfaces
- Using implements keyword
- Demonstrating Interfaces
- Assigning Class Objects to Interfaces
=> Exceptional Handling
- What is Exceptional Handling?
- What are Exceptions?
- Purpose of Exceptional Handling
- Using try-catch blocks
- Exceptional Hierarchy (Throwable, Exception, ArithmeticException and ArrayIndexOutOfBoundsException Classes)
- Exception Types
- Checked Exceptions
- Unchecked Exceptions
- Using throws keyword
=> Handling Files
- Representing Files in Java
- Creating Files in Java
- Reading text from Files
- Demonstrating File Handling in Java
=> Collections Framework
- Drawback of Arrays
- The advantage of Collection Framework over Arrays
- Hierarchy of Collections Framework
- Types of the Collections framework
- Array List
- HashSet
- HashMap
- Iterator
- Iterator interface versus iterator() method
- Demonstrating the Collection Frameworks using:
- for() loop
- For-each loop
- Iterator() method
- hasNext() and next() methods of Iterator interface
=> Selenium WebDriver
- Introduction
- Downloading Selenium WebDriver
- Configuring Selenium WebDriver
- Downloading Selenium Jar files
- Adding the Jar files to the Java Project
- Configuring the Jar files with the Java Project
- Executing Sample Selenium Automation code to confirm
- Selenium WebDriver and Firefox Browser
- Checking the compatibility of Firefox Browser version with Selenium WebDriver Version
- Finding the compatibility details in Changelogs
- Google Search for finding compatibility
- Creating an object for FirefoxDriver class
- Creating an object for FirefoxDriver class and assigning it to WebDriver interface
- Checking the compatibility of Firefox Browser version with Selenium WebDriver Version
- Selenium WebDriver API
- get()
- manage().window().maximize()
- findElement(), findElements() and By Class and its predefined methods
- id()
- name()
- className()
- linkText()
- cssSelector()
- XPath()
- WebElement class
- click()
- sendKeys()
- clear()
- getText()
- getTitle()
- getCurrentURL()
- close()
- quit()
- getAttribute()
- isDisplayed()
- isEnabled()
- isSelectec()
- navigate()
- getPageSource()
- findElements()
=> Handling Multiple Windows
- getWindowHandles()
- switchTo()
- Demonstrate handling multiple windows using getWindowHandles() and switchTo() methods
=> Handling Alerts
- switchTo().alert()
- getText()
- accept()
- switchTo().defaultContent()
- Demonstrate handling Alerts using the above methods
=> Waiting Mechanism in Selenium WebDriver
- Importance of Waiting in Selenium WebDriver
- Using Thread.sleep()
- Implicit Wait
- Explicit Wait
=> Handling Dropdown fields and Multi-Selection Boxes
- Select Class
- selectByVisibleText() with Dropdown fields
- selectByVisibleText() with Multi Selection Boxes
- deselectByVisibleText() with Multi Selection Boxes
=> Handling Frames
- Introduction to Frames
- Frames in HTML
- Checking Frames on any Application pages
- Frames and NoSuchElementException
- Switching to frames
- Switching to the default page
=> Handling Lightbox
- Introduction to Lightboxes in HTML
- Lightboxes in HTML
- Demonstrate handling Lightboxes using Selenium WebDriver
=> Selenium 2 and Chrome Browser
- Checking Selenium 2 compatibility with Chrome Browser
- Demonstrate Selenium 2 scripts on Chrome Browser
=> Selenium 2 and Internet Explorer Browser
- Checking Selenium 2 compatibility with Internet Explorer Browser
- Demonstrate Selenium 2 scripts on Internet Explorer Browser
=> Selenium 3
- Introduction
- Difference between Selenium 2 and Selenium 3
- Executing Selenium 3 Scripts on Firefox Browser
- Checking the compatibility of Firefox Browser with Selenium 3
- Configuring the project with geckodriver.exe
- Demonstrate executing the Selenium 3 scripts on Firefox Browser
- Executing Selenium 3 Scripts on Chrome Browser
- Checking the compatibility of Chrome Browser with Selenium 3
- Demonstrate executing the Selenium 3 scripts on Chrome Browser
- Executing Selenium 3 Scripts on IE Browser
- Checking the compatibility of IE Browser with Selenium 3
- Demonstrate executing the Selenium 3 scripts on IE Browser
=> Advantage of using WebDriver interface in Selenium programs
- Framework Concepts – Properties Files
- Purpose of properties files in Selenium Automation
- Demonstrate a Java program which reads the data from a Properties file
- Load the object reference of the FileInputStream class using load() method of Properties class
- Retrieve the values from the properties file using the getProperty() method of Properties class and print
- Demonstrate a Selenium program, which reads the Project configuration data like website details, browser etc from the Properties file
- An advantage of using Properties files
=> Framework Concepts – POI API
- Purpose of POI API in Selenium Automation
- Understand the basics of POI API
- Demonstrate POI API
=> Framework Concepts – Log4j API
- Purpose of Log4j API in Selenium Automation
- Implement logging in Selenium Automation code using System.out.println()
- Disadvantages of SOP logging
- Advantages of Log4j logging
- Implementing Log4j in Selenium Automation
=> Framework Concepts – TestNG API
- Purpose of TestNG in Selenium Automation
- Configure the Project with TestNG JAR file
- TestNG Annotations
- @Test
- @BeforeMethod
- @AfterMethod
- @BeforeClass
- @AfterClass
- Executing the Java class files in batch using TestNG
- Failing @Test annotated methods
- TestNG Assertions
- assertEquals()
- assertTrue()
- assertFalse()
- fail()
- Parameterizing tests using TestNG’s @DataProvider annotation
- @DataProvider
- dataProvider
- Demonstrate a program which parameterizes
=> Framework Concepts – ANT
- Purpose of ANT
- Downloading and Configuring ANT
- build.xml file and its execution using ANT
- Demonstrate ANT
=> Framework Concepts – Maven
- Purpose of Maven
- Demonstrate Maven
=> Framework Concepts – Taking Screenshots in Selenium
- Demonstrate taking Screenshots in Selenium
=> Framework Concepts – Extent Reports
- Demonstrate Extent Reports
=> Framework Concepts – TestNG (Continued)
- throw
- Skipping a test in TestNG
=> Data Driven Framework
- Data Driven Testing
- Data Driven Framework
- Build the Data Driven Framework from scratch
- Demonstrate this Framework on a sample application
- Download Framework
=> Page Object Model and Page Factory
- Build the Page Object Model and Page Factory from scratch
- Demonstrate this Design Pattern on a sample application
- Download Page Object Model and Page Factory implemented Framework
=> Cucumber & BDD Framework
- Cucumber
- BDD
- Demonstrate Cucumber and BDD in Selenium Automation
=> Real-time eCommerce Automation Project (Differentiator from other Selenium courses in the market)
- End to End Real-time eCommerce Automation Project
Reviews
There are no reviews yet.