Selenium Curriculum

1. Introduction to Selenium and its Components

Learning Objectives - Upon completing this Module, you should be able to: List the different types of Applications, list the different types of Testing, define selenium, discuss the Evolution of Selenium from Selenium 1 to Selenium 2 and then to Selenium 3, state the current version of Selenium, discuss the different components of Selenium Suite, describe Selenium IDE, describe Selenium WebDriver, describe Selenium Grid, discuss Regression Testing, discuss Functional Testing, compare Selenium and QTP, list the software required for Selenium, set up:- Java, Eclipse, Selenium IDE, Selenium WebDriver.
Topics - efine testing, understand web-application and desktop application, know the different types of testing, describe manual testing, describe automation testing, evolution of Selenium, components of Selenium Suite (Selenium IDE, Selenium WebDriver, Selenium GRID), regression testing, functional testing, QTP and Selenium, list the software required for Selenium, set up – Java, Eclipse, Selenium IDE, Selenium WebDriver.
Practicals to be covered : Installing Java, configuring Eclipse for Selenium

2. Selenium – IDE

Learning Objectives - At the end of this Module, you should be able to: Discuss the basics of Selenium IDE, list the different Controls of Selenium IDE, describe the Record and Playback feature, create a new Test Case, execute a Test Case, explain ‘Command’, ‘Target’, and ‘Value’, explain the different Selenium Commands, tell the difference between Assert and Verify Commands.
Topics - Selenium-IDE Features, different Controls of Selenium IDE, creating a Test Case, recording a Test Case, executing a Test Case, Command, Target and Value, Selenese Commands, Assert and Verify Command.
Practicals to be covered :Recording a Test Case, Executing a Test Case.
3. Selenium - Web Driver
Learning Objectives - At the end of this Module, you should be able to: Discuss the basics of Selenium WebDriver, open the browser (Chrome), navigate to the web-application, list the Web-Elements, describe the Chrome Developer Tools, discuss various Locators.
Topics - Selenium-WebDriver, opening Chrome Browser, navigating to Web Applications, introduction to Web Elements, Chrome Developer Tool, Locators -: Locators-ID, Locators-Name, Locators-Class, Locators-Tag Name, Locators-Link Text, Locators-Partial Link Text, Locators-CssSelector, Locators-Xpath.
 
Practicals to be covered : Opening a Browser (Chrome), Navigating Web Applications, Handling different Locators
4. Creating Test cases in Selenium Web Driver
Learning Objectives - At the end of this Module, you should be able to: Explain Validation, write a Test Case that verifies the title of the web page, verify the Error Message on Entering a wrong username and password on Facebook.com, Handle Keyboard Events, Handle Dynamic Web-elements , describe the need for Maven, switch from Simple Java Project to Maven Project.
Topics - Validation - Validation-Page Title, Facebook Code, Handle Keyboard Events, Handle Dynamic Web-elements, Need for Maven, Switch from Simple Java Project to Maven Project.

5. Project Scope Management

Learning Objectives - Understand the processes and activities to identify, define, combine, unify, and coordinate the various processes and project management activities within the Project Management Process Groups.
 
Topics - Introduction, Agenda, What is Project Scope Management, Product Scope vs. Project Scope, The Key terms in Project Scope Management, The Project Scope Management Processes, Collect Requirements, Define Scope, Create WBS, Verify Scope, Control Scope.
Practicals to be covered : Validate Title of a Web Page, Validate the Login Credentials using Facebook.
6. Introduction to waits in Selenium
Learning Objectives - Upon completing this Module, you should be able to: Describe waits, Discuss the various types of waits.
Topics - Types of waits - Explicit Wait, Fluent wait, Implicit Wait, PageLoadTimeout, setScriptTimeout.
Practicals to be covered : Explicit wait, Implicit wait, Fluent wait.
7. Handling different controls on a webpage
Learning Objectives - At the end of this Module, you should be able to: Learn about Frames and Inline Frames, Discuss Alert boxes , Discuss Modal Dialog boxes, Discuss dropdown boxes, Illustrate Mouse Hovering, Drag and Drop, Switch between windows, Explain how to test whether all links are working on the webpage or not.
Topics - IFrames using Web Driver commands (By Index, By Name or ID, By Web Element), Alerts in WebDriver (Simple Alert, Confirmation Alert, Prompt Alert), Testing Dropdown (SelectByVisibleText, SelectByIndex, SelectByValue), Methods in Window handling (GetWindowHandleCommand, GetWindowHandlesCommand, SwitchToWindowCommand)
Practicals to be covered : IFrames, Alerts, Dropdown, Window handling.

8. Introduction to TestNG

Learning Objectives - At the end of this Module, you should be able to: Describe the purpose of TestNG, Explain Reports, ReportNG and TestNG XSIT Report, Discuss Annotations, Execute Scripts using TestNG, Prioritize Test Cases, Discuss Cross Browser Testing, Define Browser Profiling, Illustrate the need of taking screenshots in case of test failure, Illustrate how to enable/disable a particular Test, Explain the need of executing a test multiple times.
Topics - ReportNG, HTML Report, Console Report, XML Report.
Practicals to be covered : HTML Report, Console Report, TestNG XML, Executing scripts using a Test Case, Taking screen shots in case of a Test failure, Executing a test case multiple times.
9. Page Object Modelling
Learning Objectives - At the end of this lesson, you should be able to: Identify the need for Page Object Modelling, Discuss Page Classes, Express the concept of Page Factory.
Practicals to be covered : Implementation of POM, Page Factory.

10. Frameworks

Learning Objectives - At the end of this Module, you should be able to: Define Parametrization, Discuss how to read data from Excel sheet, Describe different types of frameworks.
Topics - Parameterization, Read data from Excel sheet, Types of Frameworks - Data Driven Framework, Keyword Driven Framework, Hybrid Framework.
Practicals to be covered : Reading an Excel File, Keyword driven framework, Data driven framework, Hybrid framework.
11. Third Party Tools
Learning Objectives - At the end of this Module, you should be able to: Discuss Jenkins for continuous Integrating, Analyze AutoIt for downloading and Uploading a file, Discuss Sikuli for working with Flash Applications.
Topics -Jenkins, Selenium Integration with Jenkins, AutoIT and its features, AutoIt provides support for – Keystrokes, Mouse Movement, Window Control, Sikuli and its features, How Sikuli works, Interaction with Selenium, Interaction with Flash applications.
Practicals to be covered : Jenkins, Sikuli with flash applications, AutoIT.
12. Appium and UIautomatorviewer
Learning Objectives - At the end of this Module, you should be able to: Describe the purpose of APPIUM, Discuss APPIUM Design Concepts, Explain APPIUM Inspector, Discuss the first APPIUM Test Case for Android App, List the limitations using APPIUM, Discuss what is UIautomatorviewer and it’s Use, Get started with UIautomatorviewer, Discuss how to find objects in application, Identify the elements, Discuss Desired Capability.
Topics - Appium (Design Concepts, Prerequisites, Inspector, Installation, Limitations), First Appium Test Case, Limitations of Appium, What is UIautomatorviewer?, Objects in application, Desired Capability.
Practicals to be covered : Inspecting the elements using UIautomatorviewer.