Selenium Testing
SELENIUM COURSE CONTENT
Batch Schedule:
- Course name: Core java+ Selenium Web Driver + FRAMEWORK
- Course start date:
- Time:
- Course Duration:
Java Programming Basics
- Why Java for Selenium
- Java Architecture
- Installing Java
- Installing Eclipse
- Concept of class file
- Datatypes in Java
- String class and functions
- Practical Examples on Strings handling
- Conditional Statements
- If…else…
- Switch case
- Practical Examples with conditions
- Loops
- While Loop
- For Loop
- Practical Examples with loops
- Arrays
- Single Dimensional Arrays
- Two Dimensional arrays
- Practical usage of arrays in Selenium
- Operators
- What are Functions?
- Function Input Parameters
- Function Return Types
Object Oriented Programming
- Local Variables
- Global Variables
- Static and Non-Static Variables
- Static and Non-Static Functions
- Creating Objects in Java
- Meaning of static
- Why is main method static?
- Object and Object References
- Call by reference and Value
- Overloading and Overriding Functions
- Access Modifiers – Public/Private/Default/Protected
- Constructors
- Interface
- Usage of Objects in Selenium
- Inheritance
- Usage of Inheritance in Selenium
- Creating Packages
- Accessing Classes across Packages
Exception Handling
- Exception handing with try catch block
- Importance of exception handling
- Exception and Error
- Throwable Class
- Final and Finally
- Throw and Throws
- Different Types of Exceptions
- Need of exception handling in Selenium framework
Collection Framework
Retrieving Elements from Collections
- For each loop
- Iterator Interface
- List Iterator Interface
Eclipse
- Installing Eclipse
- Creating Simple Java Project in eclipse
- Importing and Exporting
- Debugging using Eclipse
- Exploring Eclipse – Basic
- Exploring Eclipse – Advanced
Selenium
Introduction to Selenium
- Test Automation for Web Applications
- To Automate or Not to Automate?
- Introducing Selenium
- Brief History of The Selenium Project
- Selenium’s Tool Suite
- Supported Browsers and Platforms
Selenium IDE
- Installing Selenium IDE
- Creating your First Selenium IDE script
- How to use Locators in Selenium IDE
- How to enhance a script using Selenium IDE
- Creating and Running Tests
- Creating and Running Test Suite
Introduction to Selenium WebDriver
- Selenium Webdriver Architecture
- client/language bindings
- Webdriver API
- Webdriver SPI
- JSONWireProtocal
- Drivers
- Download and configure the Webdriver jars in eclipse
- Prerequisites for selenium WebDriver
- Different types of browser drivers
- Focus on FF Driver,IE Driver, ChromeDriver,HtmlUnitDriver
- Working on RemoteWebDriver
- Introduction to page level commands/methods in WebDriver
- Introduction to navigation commands in WebDriver.
- Difference between quit and close methods
- Different techniques for closing the browsers.
Introduction to Web Technologies in Selenium Webdriver
- Introduction to html,
- dhtml
- xml,xpath
- Javascript,html5,cookies,regular expressions.
- Ajax,json
INTRODUCTION TO OBJECT IDENTIFICATION IN WEBDRIVER
- what is page source
- Hooking pagesource using pageinspectors.
- Introduction to HTML DOM
- Need of page source in selenium Webdriver
- what is static and dynamic objects
- Introduction to locators in selenium WebDriver
- Type of locators.
- Introduction to find element and find elements method in WebDriver.
- Introduction WebDriver Interface
- Introduction Web Element Interface
- How and when can we select the locators.
- Introduction to xpath,cssseelctor and jquery selectors
- Focus on xpath language and css
- Handling dynamic objects using xpath,cssselectors and jqueryselectors.
- Building customized locators.
- Introduction to objectmodel in WebDriver
- Identifying Web Elements using id, name, class
Handling Ajax Components
- What is XPath
- When to Use XPath
- Absolute XPath/Relative XPath
- Specifying conditions with XPath
- CSS Selectors
- Customizing CSS Selector
Synchronization
- ImplicitWait
- WebDriverWait
- FluentWait
- PageLoadTimeout
TestNG
What is TestNG?
- Checking reports created by TestNG
- Generating HTML Reports
- Annotations used in TestNG
- Validating Tests with Assertions
- Creating multiple Tests
- Prioritizing Tests
- Parameterizing Tests with dataProvider
- TestNG dataProvider with Excel
- Creating and Running Test Suites with TestNG.xml
- Parallel Test Execution with TestNG
- Cross Browser Testing using TestNG
- Batch Running of tests in TestNg
- Skip Test in TestNG
- Set Test Dependencies in TestNG
- Assertion in TestNG
- error collectors
- improved Assertions using HAMCREST JAVA LIBRARY
- Test Groups in TestNG
- Setting priority of execution for test cases
- Test Parameterization in TestNG
- Putting Dataproviders for multiple tests in a single file
- Parameterizing/Sharing single dataprovider for multiple test cases
- Parallel Test Execution Using TestNG
- Test Listeners in TestNG
- Listenrs for logging in case of FAILED, SKIPPED or PASSED test cases
- TestListener Adaptor
- Reporting multiple failures in single test case
- Logging and Reports in TestNg
- Integrate ReportNG with TestNG
- Pre-Serve Test Execution Order in TestNG
- TestNG Tests Run Count after Retry.
- Retry executing only Failed Tests using TestNG
- Mocking in TestNg.
Automation Test Frameworks
- Modular Driven Framework
- Keyword Driven Framework
- Data Driven Framework
- Hybrid Framework
Page Object Model (POM) & Page Factory in Selenium
- What is POM
- Why POM?
- Advantages of POM
- Creating POM Tests
- What is Page Factory?
- Creating Tests with Page Factory
MAVEN & JENKINS
MAVEN
- What is Maven and Why Maven?
- Installing/Configuring Maven
- Creating Maven Project
- Importing Maven Project into Eclipse
- What is POM.xml?
- Adding Dependencies to POM.xml
JENKINS
- Installing/Configuring Jenkins
- Scheduling Test Execution in Jenkins
- Auto mail configuration in Jenkins
- What is continues integration?
- Continues integration with JENKINS
LOG4J
- Introduction about Logging
- Logging problems without Log4J
- How to solve Logging problem with Log4J
- What is Layout?
- Different types of Layouts in Log4J
- What is Appender?
- Different types of Appenders
INTRODUCTION TO AUTOMATION TEST FRAMEWORKS
- what is framework
- Types of frameworks
- Design and implmentation of datadriven frameworks
- Design and implementation hybrid-driven frameworks(datadriven+keyword driven)
- Design and implementation of framework using page object design patterns,model
- page factory.
INTRODUCTION TO GIT/GITHUB/CONTINUOUS INTEGRATION -JENKINS
- Jenkins Integration
- What is continuous integration
- How Jenkins helps in continuous integration
- Downloading and Installing Jenkins
- Executing simple batch commands
- Build project at will and build at intervals/ Scheduling builds
- Executing Selenium Project builds with ANT
- Executing Selenium Project builds on remote Server/Github with ANT?
- Build Triggers
- Mailing if build fails
- Configuring/Scheduling Maven Project in Jenkins
- Configuring/Scheduling remote Git maven project in Jenkins