What Is Selenium?

Selenium automates browsers. That’s it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.

Selenium is a set of different software tools each with a different approach to supporting test automation. Most Selenium QA Engineers focus on the one or two tools that most meet the needs of their project, however learning all the tools will give you many different options for approaching different test automation problems. The entire suite of tools results in a rich set of testing functions specifically geared to the needs of testing of web applications of all types. These operations are highly flexible, allowing many options for locating UI elements and comparing expected test results against actual application behavior. One of Selenium’s key features is the support for executing one’s tests on multiple browser platforms.

Brief History of The Selenium

ThoughtWorks. Being a smart guy, he realized there were better uses of his time than manually stepping through the same tests with every change he made. He developed a Javascript library that could drive interactions with the page, allowing him to automatically rerun tests against multiple browsers. That library eventually became Selenium Core, which underlies all the functionality of Selenium Remote Control (RC) and Selenium IDE. Selenium RC was ground-breaking because no other product allowed you to control a browser from a language of your choice.

While Selenium was a tremendous tool, it wasn’t without its drawbacks. Because of its Javascript based automation engine and the security limitations browsers apply to Javascript, different things became impossible to do. To make things worse, webapps became more and more powerful over time, using all sorts of special features new browsers provide and making this restrictions more and more painful.

In 2006 a plucky engineer at Google named Simon Stewart started work on a project he called WebDriver. Google had long been a heavy user of Selenium, but testers had to work around the limitations of the product. Simon wanted a testing tool that spoke directly to the browser using the ‘native’ method for the browser and operating system, thus avoiding the restrictions of a sandboxed Javascript environment. The WebDriver project began with the aim to solve the Selenium’ pain-points.

Selenium 2 (aka. Selenium Webdriver)

Selenium 2 is the future direction of the project and the newest addition to the Selenium toolkit. This brand new automation tool provides all sorts of awesome features, including a more cohesive and object oriented API as well as an answer to the limitations of the old implementation.

Selenium 1 (aka. Selenium RC or Remote Control)

Selenium RC was the main Selenium project for a long time, before the WebDriver/Selenium merge brought up Selenium 2, the newest and more powerful tool.

Now Selenium 1 is deprecated and is not actively supported (mostly in maintenance mode).

Selenium IDE

Selenium IDE (Integrated Development Environment) is a prototyping tool for building test scripts. It is a Firefox plugin and provides an easy-to-use interface for developing automated tests. Selenium IDE has a recording feature, which records user actions as they are performed and then exports them as a reusable script in one of many programming languages that can be later executed.

Selenium-Grid

Selenium-Grid allows the Selenium RC solution to scale for large test suites and for test suites that must be run in multiple environments. Selenium Grid allows you to run your tests in parallel, that is, different tests can be run at the same time on different remote machines. This has two advantages. First, if you have a large test suite, or a slow-running test suite, you can boost its performance substantially by using Selenium Grid to divide your test suite to run different tests at the same time using those different machines. Also, if you must run your test suite on multiple environments you can have different remote machines supporting and running your tests in them at the same time. In each case Selenium Grid greatly improves the time it takes to run your suite by making use of parallel processing.

Selenium Course Structure

Introduction to Selenium
  • What is automation testing?
  • What is the use of automation testing?
  • What we need to Automate?
  • What is Selenium?
  • Advantages of Selenium
  • What is the difference between Selenium and QTP?
Different Flavors in Selenium
  • IDE
  • Selenium-RC
  • Selenium-Grid
  • Selenium Web Driver/Selenium 2.0
Selenium IDE
  • Installing Selenium IDE
  • Selenium IDE icons
  • Recording your first test with Selenium IDE
  • IDE Context Menu
  • Assert
  • Verify
  • Adding Selenium IDE comments
  • Synchronization commands
  • Working on pages with AJAX
  • Storing elements
  • Creating test suites
  • What you cannot record
Locators & Object Identification
  • Tools  to identify elements/objects
  • Firebug
  • IE Developer tools
  • Google Chrome Developer tools
  • Locating elements by ID
  • Finding elements by name
  • Finding elements by link text
  • Finding elements by XPath
  • Finding Elements by using CSS
  • Summary
  • Some Special IDE commands
  • Write your own Selenium IDE script without record and playback
Java Basics
  • Introducing the JAVA technology
  • Packages
    • Introduction to all predefined packages
    • User Defined Packages
    • Access Specifiers
  • Object Oriented Programming Concepts
    • Introduction
    • Class
    • Object
    • Local, Instance and static variables
    • Constructors
    • This keyword
    • Inheritance and Types
    • Working with super classes and subclasses
    • Using types of polymorphism such as overloading, overriding, and dynamic binding
    • Abstraction
    • Encapsulation
    • Abstract classes
    • Interfaces
  • String Processing
    • String manipulation with String Builder and String Buffer
    • Essential String Methods
  • Exceptions and Assertions
  • I/O Streams
    • I/O using Java
    • Files (Create/Read/Write operations on files)
  • Wrapper Classes
    • Introduction
    • Byte, Short, Integer, Long
    • Float, Double
    • Character
    • Boolean classes
  • Collections
    • Introduction
    • Java.util Package
    • List, Set and Map
  • Reading data from Property files using java program
  • Reading and Writing data from/to Excel files using Apache POI API and JXL API
Junit FrameWork
  • Running  Java Programs using Junit
  • Writing Selenium tests from scratch using Junit FrameWork
  • JUNIT Annotations
  • JUNIT Methods
  • Frequently used Selenium commands
  • Test Suites using JUNIT
  • Parameterized test cases using junit framework
TestNG FrameWork
  • How to Install TestNG plugin in Eclipse?
  • TestNG sample script
  • Writing Selenium testing script from scratch
  • Creating Test suites using TestNG
  • Reports generation using TestNG
  • Parameterized test cases using TestNG framework
Selenium WEB-DRIVER
  • Why WebDriver?
  • Downloading web driver Jars configuring in eclipse
  • Architecture of selenium webdriver
  • Drivers for Firefox, IE, Chrome, Iphone, Android etc
  • What is the difference between Selenium RC and WD?
Sample Programs in WebDriver
  • Text box
  • Link
  • Button
  • Checkbox
  • Radio Button
  • Drop Down Box
  • Select value
  • Display all values
  • Select values step by step
  • Capture screenshots
  • Synchronization Commands In Web Driver
  • Implicit wait
  • Explicit wait
  • Web Driver wait
  • File uploads and File downloads
  • Handling alerts
  • Handling confirmation messages
  • Keyboard actions
  • Mouse actions
  • Handling Iframes
  • Handling multiple tabs
  • Handling popups
  • Preparing web driver test cases using customized x-path
  • Identifying controls using x-path predefined functions
  • Web Tables
    • What is Web Table
    • Extracting data from web tables
    • Examples on static and dynamic Web Tables
    • Creating Reusable functions for Web Tables
    • Web Driver with TEST NG Frame Work
    • Batch Running Test cases using TestNG
    • Validations and its usage in Automation test scripts
    • Customized Report Generation
    • Implementing Logs using Apache Log4j API
    • Database testing using Web Driver
Working with Multiple Browsers
  • Executing Automation Test Cases in multiple browsers Sequentially
  • Executing Automation Test Cases in multiple browsers Parallel
Build Configuration Tool – Apache Maven
  • Downloading and configuring Maven
  • Create Maven project
  • Maven commands and operations
  • Adding Maven dependencies to the project
  • Execute Test Suites using Maven
Version Controlling Tool GITHUB
  • Downloading and configuring Github
  • Create repository and cloning projects
  • Git commands and operations
Automation Test Frame Work
  • What  is a frame work
  • Types of frame work
  • Data driven  frame work
  • Modular driven frame work
  • Keyword driven frame work
  • User Defined Keyword driven framework with implementation
  • Execute test scripts from the framework
Interview Questions on
  • Selenium IDE
  • Selenium RC
  • Selenium webdriver and Automation Testing
  • Core Java
Overview on Selenium Grid

Course Highlights –

  • Every course is trained by working professionals only
  • Ample practical assignments are given to the trainees
  • Real time project and examples to support practical learning
  • Mock interviews to simulate and help students face job interviews
  • Repeat the whole course with no extra cost
  • Flexible weekend classes and special weekday classes
  • Confirmation Letter / Training Letter / Project Letter : For Degree Pursing Candidates To Submit In Colleges
  • Experience Certificates : All students would be given experience certificates after successful completion of project.

Print Friendly

Leave a Reply