0% found this document useful (0 votes)
72 views

QAFox Selenium Java Automation Course 2018

The document provides an overview of a course on QA automation using Selenium and Core Java. The course will cover Selenium basics, locators, XPath, CSS selectors, and Core Java concepts like variables, data types, operators, and flow control. Students will learn to record and play back tests in Selenium IDE and work on a real-world eCommerce automation project. The course materials will include videos, notes, frameworks, code samples, and exercises.

Uploaded by

Alagarraj Vittal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views

QAFox Selenium Java Automation Course 2018

The document provides an overview of a course on QA automation using Selenium and Core Java. The course will cover Selenium basics, locators, XPath, CSS selectors, and Core Java concepts like variables, data types, operators, and flow control. Students will learn to record and play back tests in Selenium IDE and work on a real-world eCommerce automation project. The course materials will include videos, notes, frameworks, code samples, and exercises.

Uploaded by

Alagarraj Vittal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

QA Automation - Selenium & Core Java

Course Summary:

 In detailed, easy, step by step, real time, practical and well organized Course
 Not required to have any prior programming knowledge, as all the prerequisites such as Java will be explained from basics
 Training videos and notes will be shared
 Downloadable automation frameworks, programming code and other files will be provided
 Real time End to End eCommerce Automation Project will be explained (Course Differentiator)

Course Contents:

 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 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

Selenium Java Training | QAFox.com | 1


 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

Selenium Java Training | QAFox.com | 2


 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

Selenium Java Training | QAFox.com | 3


 Different types of Variables
 Local Variables
 Instance Variables

 Data Types

 What are 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 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

Selenium Java Training | QAFox.com | 4


 Iterative Statements
 While loop
 Do while loop
 For loop
 For each loop
 Transfer Statements
 break statement
 continue statement
 return statement
 try, catch & finally 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

Selenium Java Training | QAFox.com | 5


 Strings

 What are Strings ?


 Purpose of Strings in Java
 Shortcut representation of Strings
 Actual representation of Strings
 Concatenating Two Strings
 Demonstrating Pre-defined methods of Strings (equals(), length(), substring(), trim(), indexof() and split() )

 Wrapper Classes and Primitive Data types

 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

Selenium Java Training | QAFox.com | 6


 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

Selenium Java Training | QAFox.com | 7


 Interfaces

 What are 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
 Advantage of Collection Framework over Arrays
 Hierarchy of Collections Framework
 Types of Collections framework
 Array List
 HashSet
 Hash Map
 Iterator
 Iterator interface versus iterator() method

Selenium Java Training | QAFox.com | 8


 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 Change logs
 Google Search for finding compatibility
 Creating object for FirefoxDriver class
 Creating object for FirefoxDriver class and assigning it to WebDriver interface
 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()

Selenium Java Training | QAFox.com | 9


 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 default page

Selenium Java Training | QAFox.com | 10


 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
 Advantage of using Properties files

Selenium Java Training | QAFox.com | 11


 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

Selenium Java Training | QAFox.com | 12


 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

Selenium Java Training | QAFox.com | 13

You might also like