https://www.gcreddy.com/2021/04/an-overview-of-selenium.html
Selenium Tutorial for Beginners - An overview of Selenium

1. What is Selenium?

Selenium is a suite of tools for automating web browsers.

It is an open-source automated testing framework used to test web applications across different browsers and operating environments.

It supports functional testing at the System Testing level and also supports Acceptance Testing.

2. Features of Selenium

i. Open source and Portable:
Selenium is an Open source and Portable Web Testing Framework.

ii. Type of Testing:
Selenium supports Functional & Regression Testing of Web Applications.

iii. Operating System Support:
Selenium supports various Operating environments (MS Windows, Linux, Macintosh) to conduct Testing.

iv. Programming Language Support:
Selenium supports various Programming Languages (Java, Python, C#.Net, Ruby, JavaScript, and Kotlin) for writing Test Cases.

v. Browser Support:
Selenium supports various Browsers (Google Chrome, Mozilla Firefox, MS Edge, Opera, and Safari) to execute the Test Cases.

vi. Testing Variants:
Selenium supports Batch Testing, Data-Driven Testing, Cross Browser Testing, and Database Testing.

Note: Selenium is not an all-inclusive Test Tool, so it requires third-party plugins and frameworks to broaden the scope of testing.

3. Selenium History

• Selenium first came to life in 2004 when Jason Huggins was testing an internal application at ThoughtWorks.

• In 2006 an engineer at Google named Simon Stewart started work on a project he called WebDriver.

• In 2008, the whole Selenium team decided to merge Selenium Webdriver with Selenium RC in order to
form a more powerful tool called Selenium 2.0

Selenium 1.0
(Selenium IDE, Selenium RC, Selenium Grid)

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

Note: Selenium RC is only for maintenance projects.

Selenium 3.0
(Selenium IDE, Selenium WebDriver, Selenium Grid)

Note: Selenium RC was removed from Selenium 3.0.

Selenium 4.0 (* Stable version not released)
(Selenium IDE, Selenium WebDriver, Selenium Grid)

4. Selenium Components / Selenium’s Tool Suite

i. Selenium IDE (Integrated Development Environment)
ii. Selenium Remote Control (Now Deprecated)
iii. Selenium WebDriver
iv. Selenium Grid

i. Selenium IDE

Selenium IDE is a browser plug-in (Firefox and Chrome) and prototype tool.

• It is used to write and execute test cases

• User/tester can record the test cases or type test cases

• User/tester can edit test cases (Add/Update/Delete)

• User can create test suites/test batches

• User can debug test cases, and add comments

Note: Selenium IDE Test cases can be created using Element locators and Selenese Commands

Drawbacks of Selenium IDE:

• It doesn’t support programming to enhance test cases, so it is not suitable for complex test design

• No Data-Driven testing support.

• No centralized maintenance of objects/elements

• It doesn’t generate detailed test results

ii. Selenium RC – (It was removed from the Selenium suite)

iii. Selenium WebDriver

• Selenium WebDriver supports various operating systems, programming languages, and browsers.

• Selenium WebDriver supports Batch Testing, Data-Driven Testing, Cross Browser Testing, and Database Testing.

Drawbacks of Selenium WebDriver

• Selenium WebDriver has no IDE (It has a Programming interface only)
(It takes more time & efforts to create test cases)

• No built-in Object Repository facility
(* Using POM we can create Object Repositories)

• No built-in Result report facility
(*Using a Testing framework like ‘TestNG’ we can generate test results)

• No other test tool integration for test management.

• Difficult to configure test environment when it compares to commercial tools like UFT, RFT etc…

iv. Selenium Grid

• Selenium Grid is only for Test execution and doesn’t support Test case development

• Selenium Grid is used for Parallel testing, it follows the Hub-Node architecture to achieve parallel execution of test scripts.

• Selenium Grid executes Selenium Webdriver test cases against different browsers and operating systems using multiple machines (computers).

5. Platforms supported by Selenium

Selenium works with various Operating systems, browsers, programming languages and Testing Frameworks

i. Operating Systems

MS Windows
Linux
Macintosh etc…

ii. Application Environment

CUI (* It doesn’t support)
GUI (It supports Web application only, doesn’t support Desktop applications)

iii. Browsers

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

iv. Programming Languages

Java
Python
C#.Net
Ruby
JavaScript
Kotlin

v. Testing Frameworks

Java – JUnit or TestNG
C#.Net – NUnit
Python- unittest, pyunit, py.test
Ruby – RSpecc, Test::Unit

6. Advantages of Selenium (Selenium WebDriver)

7. Disadvantages of Selenium

8. Selenium Test Environment

9. Selenium Test Process