Selenium Introduction

Introduction to Selenium, Features of Selenium, History Selenium components, Advantages of Selenium and Disadvantages of Selenium

Selenium Introduction

in this chapter we will know about introduction to selenium

Introduction to Selenium

We have 6 steps from which we will have complete knowledge about selenium. They are

1. What is Selenium?
2. Features of Selenium
3. History of the Selenium Project
4. Selenium Components/Selenium’s Tool suite
5. Advantages and Disadvantages of Selenium
6. Selenium Test Process

Selenium Introduction

1. What is Selenium?

*Selenium is a free (open-source) automated testing framework used to validate web applications across different browsers and platforms.
* Selenium is a Functional & Regression Test tool for conducting Testing in System Testing and Acceptance Testing Levels.
* Functional Test Tools: Selenium, Micro Focus – UFT/QTP, IBM – RFT, SilkTest, Test Complete, Watiar, etc.,

We use the following in Selenium

Test Level: System Testing
Test Type: Functional Testing
Test Method: Automated Testing/Test Automation
Test Tool: Selenium
* We use selenium.dev as an official website of selenium

2. Features of Selenium

* Selenium is Open source Software to automate web browsers.
We use Apache 2.0 as Selenium license

* Selenium supports various operating environments to conduct the Testing. They are
**MS Windows
**Linux
**Macintosh

• Selenium supports various programming languages to write test cases

Previous supported Languages

The following are the previously supported languages by Selenium

• Java
• Python

•  C#
• Ruby
• Perl
• PHP

Current supported Languages

The following are the currently supporting languages of Selenium

**Java
**Python
**C#
**Ruby
**JavaScript
**Kotlin

• Selenium supports various browsers to execute the test cases

The following are the browsers that are supported by the selenium

Google Chrome
Mozilla Firefox
Microsoft IE/Edge
Opera
Safari

• Re-usability & Integrations

Selenium Test cases are reusable across multiple browsers, and operating environments.

Selenium is not an all-inclusive test tool, it requires some third part plug-ins and frameworks to broaden the scope of testing. Ex: Eclipse IDE, Java JUnit/TestNG, Maven, etc.,

Note:
1. Selenium IDE doesn’t support Programming
2. Selenium IDE supports Chrome and Firefox browsers only
3. Selenium RC was removed from this suite
4. Selenium Grid is only for test execution.

ALM/QC, Jira
Bugzilla

3. History of the Selenium Project

• Selenium IDE was first 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

Here we will know about different versions of selenium

Selenium 1.0

(Selenium IDE, Selenium RC, and Selenium Grid)

Selenium 2.0

Selenium 1.0 + Selenium WebDriver = Selenium 2.0
(Selenium IDE, Selenium RC, Selenium WebDriver, and Selenium Grid)

*Selenium 3.0

It is the stable version of selenium

(Selenium IDE, Selenium WebDriver, and Selenium Grid)

Selenium 4.0 Coming

(Selenium IDE, Selenium WebDriver, and Selenium Grid)

 

4. Selenium Components/Selenium’s Tool suite

i. Selenium IDE – Proto type tool
ii. Selenium RC – Outdated
iii. Selenium WebDriver
iv. Selenium Grid

i . Selenium IDE

• It is a browser plug-in (Firefox and Chrome) and prototype tool

• It is used to write & execute Test cases

• Tester can record the test cases or type the steps.

• Tester can edit test cases (Add/Edit/Delete)

• Tester can create Test suites

• Tester can debug the test cases, add comments.

Note: Selenium IDE test cases can be created using HTML Element locators and Selenese commands.

Drawbacks of Selenium IDE:

• It doesn’t support Programming

• No Data driven support

• No centralized maintenance of elements (OR)

• It doesn’t generate detailed test reports.

ii. Selenium RC (Remote Control) – Outdated

iii. Selenium WebDriver

Selenium WebDriver Test cases can be created using Element Locators and Selenium WebDriver commands

iv. Selenium Grid

Selenium Grid is only for Test execution

It supports parallel testing
(It can execute Selenium WebDriver test cases against different browsers and operating environments.

5. Advantages and Disadvantages of Selenium

Advantages of Selenium

i. It is Open source software

ii. It supports various operating systems to conduct the testing.

iii. It supports various programming languages to write the test cases

iv. It supports various browsers to execute the test cases

v. It uses less hardware resources

vi. It supports parallel testing
etc.,

Drawbacks of Selenium

i. It supports web applications only

ii. No reliable technical support.

iii. No built-in Object Repository
(*POM – Page Object Model)

iv. No built-in Result Reporting facility
(By integrating Testing Framework we can create test reports.)

v. Some difficult to configure the Test Environment when it compares to commercial tools like UFT and RFT.

vi. Less support for Image testing

vii. No other tool integration for test management

viii. It takes time and efforts to create test cases when it compares to commercial tools like UFT and RFT.

Java for Selenium
Eclipse IDE, JUnit/TestNG etc.,

Python for Selenium
PyCharm IDE, Py Unit or Py Test

6. Selenium Test Process – Steps

• Select Manual Test cases for Automation (By the Test Team)
• Select/Choose Selenium Tool/s, and other third plugins and frameworks.(By the Test Team)
• Selenium Test Environment Setup (By Tech support team/Test team)
• Inspecting HTML Elements (using a browser built-in tools)
• Select unique Locators for elements (Consider selenium documentation tips, and conduct dry run/s then choose)
• Object Repositories (Selenium’s POM)
• Create Reusable functions (using the programming concepts)
• Collect Test data ((By the Test Team)
• Write Test steps using Element locators and WebDriver API commands
• Enhance the Test cases using the programming concepts (handling data, handling run-time errors, looping, reusable components etc,)
• Enhance the Test cases using a testing Framework (Inserting verifications, prioritize test cases, create test batches, and generating test Reports
• Execute test cases (Selenium with Testing Framework support)
• Analyze Test Reports (Test Team)
• Reporting & Tracking
• Store the Automation resources, and maintenance.

Follow me on social media: