Introduction to Selenium Videos and Class Notes


Selenium 1: Introduction to Selenium

i) What is Selenium?
ii) History of the Selenium Project
iii) Selenium Components / Selenium's Tools suite
Selenium IDE
Selenium RC
Selenium WebDriver
Selenium Grid
iv) Platforms supported by Selenium
v) Selenium License
vi) Advantages of Selenium
vii) Disadvantages of Selenium
viii) Testing Frameworks and other tools used in Selenium
ix) Selenium vs. UFT/QTP
x) Selenium Environment Setup
-----------------------------------------------------
i) What is Selenium?

> Selenium is mainly used for Functional & Regression Testing.

(We have different types of Test Automation or Automated Testing, ex: Functional Test Automation, Performance Test Automation, and Test Management etc..., Our Selenium is used for Functional Test Automation and Other Test Tools in this category are UFT / QTP, RFT, SilkTest, Test Complete, Test Partner etc...)

> Selenium is an Open Source Software to automate Web Browsers.

(Open Source means, Source code available on Internet and anybody can download & use with free of cost. Selenium can automate Web based Applications only, it doesn't automate Desktop or Windows based Applications, where as UFT (other tool in this category) can automate desktop and Web Applications.)

> Selenium supports various Operating Environments.

(Suppose our AUT (Application Under Test installed on Windows then we use Selenium for Functional Test Automation, Our Software Application installed on Linux operating environment then we can use Selenium, Our Software Application deployed on Macintosh then we can use Selenium for Automation. UFT formerly QTP supports Windows operating environment only.)

MS Windows,
Linux,
Macintosh etc...

> Selenium supports various Browsers to create and execute Tests/Test Cases/Test Scripts

We can use various browsers to launch our Web Application, and Selenium supports various browsers for Test Automation, Test Steps in Test Cases are common for all browsers, and browser driver only various from one browser to another.)

Mozilla Firefox
Google Chrome
Internet Explorer /MS Edge
Opera
Safari etc...

> Selenium supports various programming languages to write programs (Test Scripts)

(Selenium supports various Programming environment to write Test scripts (programs) but you can use any one of those programming languages, and most of the Selenium Testers using Java for selenium. UFT/QTP supports only VBScript for writing Tests/Test Scripts)

Java,
Python
C#.Net
Perl
Ruby
PHP

Note: Selenium IDE doesn't support any programming to write Test cases.
-----------------------------------------------------
Selenium Step by Step Videos
ii) History of the Selenium Project

> Selenium was launched in 2004,
> In 2006, Selenium WebDriver was launched at Google,
> In 2008, the whole Selenium Team decided to merge Selenium WebDriver with Selenium RC in order to form a powerful tool called selenium 2.0

Selenium 1.0
(Selenium IDE + Selenium RC + Selenium Grid)

Selenium 1.0 + Selenium WebDriver = Selenium 2.0

Selenium 2.0
(Selenium IDE + Selenium RC + Selenium WebDriver + Selenium Grid)

* Selenium 3.0 (2016)

(Less feature enhancements and More new product environments in Selenium 3.0, in Selenium 2.0 default browser is Mozilla Firefox, but no default browser in Selenium 3.0. Selenium IDE doesn't support Mozilla Firefox browser only, and Selenium WebDriver supports various browsers to create and execute test cases.)
--------------------------------------------------------------------------------
iii) Selenium Components / Selenium's Tools Suite (seleniumhq.org)
(Selenium RC was removed from Selenium 3.0 (latest version of Selenium)
  Selenium IDE
Selenium WebDriver
Selenium Grid

a) Selenium IDE (Integrated Development Environment)

Selenium IDE Features:
> It is a Firefox browser plug-in and Prototype type tool.
> It is used to create and execute test cases using Mozilla Firefox browser
(* Record Test Steps / Type Test Steps using Element locators and Selenese commands/Selenium IDE Commands)
> User can edit Test Steps in Test Case(Add/Update/Delete)
> Using Selenium IDE we can create Test Cases and form Test Bathes /suites/set...
> We can export Selenium IDE Test Cases to other supported formats (Java/Ruby...)
Note: Selenium IDE Test Case default format / Native format is .html
> User can debug Test Cases, and insert comments in Test Cases.

selenium IDE Disadvantages:
> It supports Mozilla Firefox browser only to execute / run Test Cases
> It doesn't support Programming to enhance Test Cases, so it not suitable for complex Test case design.
> It doesn't support Parameterization/Data driven Testing
> No centralized maintenance of Elements / Objects
> It doesn't generate detailed Test Reports but generates Test summary only.
-----------------------------------------------------
b) Selenium WebDriver 

> Selenium WebDriver having Programming Interface only but no IDE,
> Selenium WebDriver is a powerful tool in the Selenium suite

Selenium IDE- It has IDE only but no programming Interface
Selenium WebDriver- It has Programming Interface only, but no IDE
UFT/QTP - It has both IDE as well as Programming Interface
--------------------------------------
> Selenium WebDriver is used to create and execute / run Test cases,
> We / Testers/Users use Element Locators and WebDriver API Commands / Methods to create Test Cases,

> Selenium WebDriver supports various Browsers, Operating environments, and programming languages to create Test Scripts / Test Cases /Programs

Google Chrome, Mozilla Firefox, MS IE / Edge, safari, Opera etc...
MS Windows, Linux, Macintosh etc...
Java, Python, C#, Perl, PHP, and Ruby
----------------------------------------
Create Test Cases:

Types of Test Steps in Selenium WebDriver:

Object Calls / Test Object Statements
In UFT / QTP 
Browser("Google").Close
Dialog("Login").Button("OK").Click

Object Property value
Button text OK
Browser   name Google

Selenium WebDriver:
Element Calls / Element Steps:

driver.close();
2nd *WebDriver Doesn't support

Element Locator Value
Edit box id username
------------------------------------------------
Click "Gmail" Link in the Google Home Page,

In UFT:

Browser("Google").Page("Google").Link("Gmail").Click

In Selenium WebDriver:

driver.findElement(linkText("Gmail")).Click;
-------------------------------------------------------------------
Element Calls / Element Statements / Object Calls / Test Object Statements
Click "Gmail" Link in the Google Home Page,
1) Identify "Gmail" Link in Google Home Page, - Using Element Locators
2) Click on "Gmail" Link, - WebDriver Commands / Methods
-------------------------------------------------
1) Element Calls / Element Statements
2) Declarations (Variables, Constants etc...)
3) Verification Points....
4) Parameterization Steps
5) Synchronization steps
6) File handling steps
7) Error handling steps....
Etc...
-----------------------------------------------------------
Drawbacks of Selenium WebDriver:
> Selenium WebDriver has no IDE, so takes more time and efforts to create Test Cases,
> No built Result Report facility 
> No other tool Integration for Test Management
> Difficult to configure selenium WebDriver when it compares to other tools
---------------------------------------------
c) Selenium Grid

Selenium Grid is not for Test Case Design, only for Test Execution,

* Selenium Grid doesn't support Selenium IDE Test Case execution,
Selenium Grid (in Selenium 1.0) supports Selenium RC Test Cases execution only,
Selenium Grid (in Selenium 2.0) supports Selenium RC, and Selenium WebDriver Test Cases execution,
Selenium Grid (in Selenium 3.0) supports Selenium WebDriver Test Cases execution only,

Selenium Grid supports Parallel Testing (It can execute test cases against different browsers and machines/computers
in Parallel,

100 Test Cases - 4 hours
---------------------------------------------------------------------
iv) Platforms Supported by Selenium

1) Browsers:

Google Chrome,
Mozilla Firefox,
Internet Explorer / MS Edge
Opera,
Safari Etc...

2) Operating Systems

MS Windows
Linux
Macintosh Etc...

3) Programming Languages

Java
Python
Perl
Ruby
C#
PHP

4) Application Environment

Computer Software and Mobile Software,

Computer Software

i) CUI based Applications - Doesn't support
ii) Desktop Applications - Doesn't support
iii) Web Applications - Yes

Mobile Software

i) Native Applications - No
ii) Web Applications / Web Apps - Yes
iii) Hybrid Applications -No
-------------------------------
Note 1: Using latest plug in we can work with native and Hybrid Applications also.
Note 2: Selenium IDE doesn't support various Browsers, and programming.
-----------------------------------------------------------------------------
v) Selenium License

> Selenium is an Open Source Software, anybody can download and use with free of cost,
> Selenium Projects were released under Apache 2.0 License,

i) Anybody can download and use Selenium projects with free of cost
ii)  Anybody can modify the source code and use, and distribute the code.
* Selling modified code is not allowed.
------------------------------------------------------------------------------
vii) Advantages of Selenium

1) It is an Open Source Software
2) It supports various Operating Environments,
3) It supports various Programming platforms,
4) It supports various Browser Environments,
5) It supports Parallel Testing
6) It uses less Hardware resources for Test Automation
Etc....
---------------------------- ----------------------------
viii) Disadvantages of Selenium

1) It supports Web Applications only...
2) No Reliable Technical Support from anybody,
3) New Features may not work properly,
4) Less Support for Image based Testing,
5) No Other Tool integration for Test management
6) No built in Result Reporting facility
Etc...
--------------------------------------------------------------
vi) Testing Frameworks and Other Tools used in Selenium

Test Frameworks,
Selection of Testing Framework depends and Programming platform,
Java - JUnit or TestNG 
C#.NET - NUnit
* Priti - What are the supported Testing Frameworks for Python, Ruby, PHP, and Perl.
* What are the Usees of Maven, ANT tools in Selenium (Test Automation using Selenium)
* What is the Use of Jenkins in Selenium,
---------------------------------------------------------------

1 comments:

Sir, please post 2017 batch notes materials.

Post a Comment