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.