About The Course
Selenium is used for automating Web Applications. In this course you will experience to work with Data Driven Framework and Keyword Driven Framework and perform Cross browser testing. Selenium IDE, Selenium RC, Selenium WebDriver and Selenium-Grid are covered during the course. You will learn to perform tests on multiple machines simultaneously running on different Operating Systems, integrate other frameworks like JUnit and TestNG with Selenium.
After the completion of ‘Testing With Selenium WebDriver’ Course, you should be able to :
1. Understand Selenium Architecture and its components
2. Work with Selenium RC
3. Execute Different Locator Techniques e.g by link, by text, by id, by css, by xpath etc.
4. Understand Selenium WebDriver/ Selenium 2.0
5. Perform Cross browser testing with Mozilla Firefox, Google Chrome, Safari and Opera
6. Use WebDriver advanced features e.g. taking screenshots, handling cookies and managing exceptions
7. Validate page content using Selenium WebDriver API
8. Create Data driven, Keyword driven and Hybrid test framework
9. Record and importing tests with Selenium IDE
10. Perform unit testing with JUnit
11. Apply Test Driven Development(TDD) approach
12. Code coverage report using Java Code Coverage(JaCoCo) to evaluate code execution
13. Perform distributed testing using Selenium GRID
14. Interact with images present on the web page with Sikuli
15. Write Test cases using TestNG
16. Automate windows applications with AutoIt
Who should go for this course?
Professionals from any domain can join the course as it does not require hard core programming knowledge. Selenium is a new and booming Technology in Software Industry that is widely accepted across all the industries. People with basic knowledge of Object Oriented Programming can easily take up this course.
The pre-requisite for this course is basic knowledge of Core Java. We provide a complimentary course "Java Essentials for Testing With Selenium WebDriver to all the participants who enroll for Selenium course. This course helps you brush up your Java skills needed to work on Selenium. In case you come across any doubt, the 24*7 support team will promptly assist you.
Towards the end of the course you will be working on a Project where we will be automating a Web Application like Facebook/Twitter/Google+ or any government site to cover all the possible cases of interaction with application. Project will be Keyword Driven so that it should work as per user instructions. Test cases will be executed multiple times using Data Driven approach. Project will handle Textboxes, Links, Checkbox, Radio button, submit button, reset button, URL, Page Title, synchronization between pages when navigating from one page to another, taking screenshots of application for each of the validation of – verbose, textbox value, dynamic links, handling of dialog and alert box, fetching data from application. We will build this Project using Eclipse and Selenium WebDriver.
Why learn Selenium?
Selenium is an open source tool and covers all the scenarios what licensed tool like QTP, IBM RFT or other available tools in market can do. Performance, execution speed and browser interaction of Selenium is too fast than any other automation tool. Unattended execution can be achieved using Selenium Framework. Selenium supports different operating systems along with support for different programming languages and browsers, these features makes the Selenium ahead of any other Automation tool.
1. Introduction to Selenium and its Components
Learning Objectives - In this module you will understand what is Automation. Advantages of Selenium over other Automation tools. You will learn about Selenium IDE, Selenium RC, Selenium WebDriver and Selenium GRID.
Topics - Introduction to Selenium, Advantages of Selenium over other automation tools, What is the difference between Selenium and QTP , IBM RFT and Sikuli. Prerequisites knowledge to work on Selenium. Selenium supported Browsers and Platforms. Components of selenium - Selenium IDE, Selenium RC, Selenium WebDriver / Selenium 2.0 and Selenium GRID.
2. Selenium RC and Locater Techniques
Learning Objectives - In this module you will learn about Selenium RC and Selenium RC Server. Explanation of Selenium RC Components and architecture. You will learn how to work with different developer toolbar and Firebug. Finding objects using name, id, text, href, value, xpath, src, class and more.
3. Selenium WebDriver
Learning Objectives - In this module we look into Selenium WebDriver and setting up an environment for execution. Running test cases on multiple browsers. Loading of browser with selenium driver. Object identification using WedDriver API. Handling of special test cases like alert window, working with frames, page refresh and navigation.
Topics - Introduction and architecture of Selenium WebDriver, Configuring Selenium WebDriver in Eclipse, Working with Firefox Driver, IE Driver, Chrome Driver, Safari Driver, Cross Browser Testing, Launching browsers with drivers, Object Identification, WebDriver Special Cases - Working on Frames, Handling Web tables, Handling Alert/Dialog boxes, Handling of dropdown, Handling of Textbox, Page Refresh, Back and Forward Navigation of Page.
4. Validation and Designing of Framework
Learning Objectives - This module will cover validation of web elements and content validation. Design of Automation framework using keyword driven and data driven approach.
Topics - Validation of Radio button, Checkboxes, Read only and Disabled fields, Scroll down, Validating Page Content, Page Title, Page URL, Textbox Value and Colour of text, Selenium Framework Design- Data driven framework, Keyword driven framework, Hybrid Framework.
5. WebDriver Advanced Usage and Selenium IDE
Learning Objectives - This module will cover additional features of Selenium WebDriver which makes it far much better than any other automation tool. As these features comes with the tool itself so it makes it very easy to use .In the end you will learn about Selenium IDE and how to work with it.
Topics - WebDriver: Advanced Usage - Explicit and Implicit Waits, Handling of keyboard events, Uploading a file using Selenium WebDriver, Exception Handling with Selenium WebDriver, Taking screenshot with Selenium WebDriver, Handling Cookies with Selenium WebDriver, Advanced User Interactions - Browser Startup Manipulation, Migration of Selenium1 code to Selenium2.
6. Programming and Report Generation
Learning Objectives - In this module we introduce JUnit with Eclipse. Writing Test Cases using Test Driven Development (TDD) approach. Complete code coverage of Java Project with reports. You will also learn about report generation using Class wise and TestCase wise.
Topics - JUnit Basics, Configuring JUnit with Eclipse.Using JUnit with Selenium WebDriver. Test Driven Development (TDD).Java Code Coverage (JaCoCo) - Introduction, adding JaCoCo in Eclipse to get reports, generating Java Code Coverage Reports.
7. Selenium-Grid, Sikuli, TestNG, Automating with AutoIt
Learning Objectives - In this module we start with Selenium-Grid, Running Test Cases on multiple systems using different programming languages on different browsers at the same time, Creating HUB and Nodes using Selenium-Grid for parallel execution and Achieving automation for images. Using TestNG for designing test cases, Report generation of overall execution using TestNG, Introduction to AutoIt and automating with AutoIt.
Topics - Selenium-Grid Introduction, Configuring Selenium-Grid, Hub and Node Configuration, Timing Parameters, Customizing the Grid, Parallel execution using Grid, Sikuli - Introduction, working with Sikuli, Interaction with desktop applications, How image recognition works in Sikuli, Sikuli integration with Selenium, TestNG - Introduction to TestNG Framework, Annotation concept and different types, Parallel script execution, Suite creation methodology, Report generation, Assertions, Verifications, AutoIt - Need of AutoIt tool, Basics of AutoIt tool, Converting AU3 file to exe file, Calling AutoIt script from Selenium project.
Learning Objectives - In this Module we are going to apply what we have learned in previous modules on a live website.
Topics - Applying Keyword Driven approach , Executing tests multiple times using Data Driven approach. Validating Textboxes, Checkboxes,Radio Buttons,URLs,Page Title and Page Navigation. Taking Screenshot for each validation.