Selenium with Java Syllabus
Overview:
Selenium with Java is a free automation testing tool for web applications. It is able to work with different browsers like Chrome, Firefox, IE, Opera and simulate human like behaviour. Selenium is able to interact with all the different elements in a webpage. It can click on them, input text, extract text and much more. By covering all the different functionalities on your website with Selenium tests, you will be able to quickly catch new and reappearing old bugs. This will save your time and money; we can run our test cases on various environments using selenium grid and we can integrate with project management tools for managing the projects.
Course Objectives:
• Understand Selenium IDE • Understand web elements • Understand JUnit/TestNG framework • Taking screen shots using selenium • Understand Extent Reports • Handling multiple windows, pop-ups, alerts • Develop Various frameworks • Freelancers that want to make bug free websites. Pre-requisite / Target Audience: Basic knowledge on programming language Java
Module 1:
Introduction to Automation Testing In this module, we can learn about automation testing and when to automate the application. We can also look into different automation tools in the market, and we will discuss about advantages and disadvantages of automation tool. • What is Automation testing • Advantages of Automation testing • Disadvantages of Automation testing
Module 2:
Introduction to Selenium In this module, we will discuss briefly about selenium tool and history of it. We will compare selenium with other tool like QTP and we can look into major components in selenium like Selenium IDE, Selenium RC, Selenium Webdriver and Selenium Grid. • History of Selenium • Why Selenium tool • Differences between Selenium and other Tools • Different components in Selenium
Module 3:
Introduction to JAVA In this module, we will talk about java and features of java, and what is JVM and JRM. We will discuss about different types of data types and conversion of data types, and control statements (loops like for, while, do while, if) with examples. What is string and different methods in strings. We will discuss about one dimensional array and two-dimensional array along with real time examples and more details about functions and parameterization and how to return the functions and use it with on other functions. • Introduction to java • Installation of Eclipse IDE • Data types • Control Statements • Strings • Arrays • What are Functions? • Function Input Parameters • Function Return Types
Module 4:
Object Oriented Programming -1 In this module, we discuss about class and local variables, global variables. how to create static and nonstatic methods and how to access them. How to create Object and call the functions. What is constructor and when to use constructor, what is parameterized constructor and how to pass parameters in constructor. • Class • Variables • Static and non-static variables • Static and non-static functions • Object • Constructor
Module 5: Object Oriented Programming -2 In this module, we will discuss about concept of Inheritance and how we can overload and override functions. What is package and how to access classes across packages. What are the different access modifiers available in java (Public, Private, Protected) and how to use them. How to handle exception and what is try and catch block, differences between throw and throws, final and finally, and different kinds of exceptions. • Inheritance • Overloading’s and Overriding Functions • Packages • Access Modifiers • Exception Handling
Module 6: Object Oriented Programming – 3 In this module, we will discuss about different types of collections like Arraylist, set, hashtable and how to use them. How to read and write text file and how to read properties files, and how to read and write excel sheet using apache poi • Collections • File Handling
Module 7:
Introduction to Selenium IDE In this module, we will discuss about features of Ide and limitations of IDE. • Installation and Introduction to IDE • Creating first script using record and playback • Installation of Inspector Tools and its Uses. • Generating Scripts using different WebElements • Handling Wait Commands • Handling Validations Commands • Handling Store Commands • Limitations of IDE
Module 8: Introduction to Selenium WebDriver 3 In this module, we will talk about webdriver and its features, and we will write a sample program for better understanding. In this module, we talk about basic features of webdriver like get and navigation functions, different types of Waits, taking screenshot and etc. • First Program on selenium • Verify Page title in Selenium Webdriver • Navigation in selenium • Radio button and Checkbox in Selenium Webdriver • Handling Autosuggestion • Handling Dropdown List • Handling File upload using Sikuli/Auto IT • Handling Drag and Drop in Selenium • Handling Mouse Hover, Keyword Events using Action class • Synchronization using webdriver (Waits) • How to take screenshot using selenium • How to Take Multiple Screenshots • How to capture Error message using webdriver • Handling Multiple windows • Handling Alert Messages. • Handling IFrames. • Cross Browsing using selenium • Complete details of Dynamic XPath in Selenium • Complete details on CSS in selenium
Module 9:
What is Framework In this module, we will discuss about very important topic i.e., frameworks. • What is Framework • Types of Framework • Use of Framework
Module 10: TestNG Framework In this module, we will discuss about TestNG, what is the advantages of testng over Junit. We will look at different annotations and how to use them in selenium, and integrating different types of reports(XSLT, Extent Reports) to testng and parallel execution of test cases and creating maven project and adding dependencies to pom.xml file and how to run maven project. • Configure Eclipse with Selenium and TestNG • New- Installation of TestNG • Create First TestNG Program and Execute. • Check reports generated by TestNG • How to execute only failed test cases in Selenium Webdriver • What is TestNG Listeners and How to implement TestNG Listener in Selenium Webdriver • How to run group Test cases in Selenium using TestNG • How to run Multiple Programs using TestNG. • Execute Selenium Webdriver Test cases parallel using TestNG • XSLT report generation generation using TestNg and Ant • Building a BAT file to run tests using ANT • Putting Dataproviders for multiple tests in a single file • Parameterizing/Sharing single dataprovider for multiple test cases • TestNg Maven Configuration • Maven-surefire-report-plugin with testng • Executing testng from maven on Command Prompt
Module 10: DataDriven Framework In this module, we will discuss about datadriven framework with sample project and how to run deploy src to github and how to run project through Jenkins and sending reports via emails, and how to run parallel using grid. • What is data driven Framework • Write Excel using Apache poi/JXL • Read Excel using Apache poi/JXL • Goals to be achieve in data driven framework • Creating a Core Framework • Create Maven Project and Packages • Creating test Cases • Build base test • Build Validations Functions • Build generic Functions. • Softassertions and extent reports • Logging into reports • Put Screenshots to reports • Initiate properties files • Build a centralized/reusable function to extract objects • Reading Data from XLS-Parameterizing tests • Build the utility function for reading data • Selectively/Optionally Run tests • Reports - XSLT, Extent Reports • Run project with ANT/Maven/Eclipse