Selenium is a fierce toolkit for developers

— Updated:
Selenium is a fierce toolkit for developers
Content Share

Countless hours are spent by developers testing the functionality of a web application both on-premises and off-premises.

Before Selenium, it was all done literally by hand: dozens of people tested hundreds of scripts in all existing browsers, identifying problems and trying to determine the causes of their occurrence.

What is Selenium

Selenium is a set of open source software automation and testing tools that has become the de facto leader.

Working with most programming languages ​​supported by all major operating systems and browsers, Selenium is currently used by companies such as Netflix, Google, HubSpot, Fitbit and more. The entire Suite provides a range of solutions for various testing tasks and needs.

Selenium Suit Infrastructure


In most cases, when people talk about Selenium, they mean Selenium WebDriver. The bulk of product development focuses on this element.
Test automation in WebDriver is often compared to driving a taxi. There are three components involved in taxi driving and testing: customer (test engineer) – car (browser) – taxi driver (WebDriver).

DevOps – Development & Operations
DevOps – Development & Operations

According to this analogy, the programmer first tells the driver how to interact with the elements of the browser. Then WebDriver gives the browser (machine) commands that sound something like this: when the button is active, click on the button. After that, the browser provides the driver with information about the values ​​and statuses of the web elements, which are later sent to the script. Simply put, the Selenium WebDriver tool is used to collect information and make sure that the application works correctly, that is, that the driver knows how to drive and knows where to go.

Selenium IDE

This is an extension for Firefox. It’s not designed for development, it’s easy to learn, and it’s perfect for prototyping tasks.

Working in Selenium IDE does not require programming skills, since the plugin basically records the engineer’s actions in the browser and repeats them. Programmers do not consider it as an independent, full-fledged product, but it is quite enough to work with simple scripts.

Selenium Grid

Allows you to run parallel tests on multiple machines and browsers at the same time. The main function of this tool is to save time. If you need to run, say, 100 tests to set up four virtual or physical machines, Selenium Grid is used.


Given that browser scripts are generally slow, using performance techniques such as parallel testing can help with this problem. It can also be used to test the same application in different browsers in parallel, when Firefox is running on one computer, Chrome is running on another, and so on. It is possible to create different configurations by combining different versions of browsers and operating systems. Needless to say, when used in large production environments, Grid saves four times the time.


Selenium is not the only test automation tool on the market, but it is the only free tool that can compete with paid products. Katalon Studio is a viable alternative, but it doesn’t provide as many languages, doesn’t run on Linux, and just doesn’t have a fan base.

Domain Driven Design – DDD Programming
Domain Driven Design – DDD Programming

Not surprisingly, even larger firms are in no hurry to move to paid sites and give away thousands of dollars for what Selenium does for free. The number of companies working with Selenium exceeds 55 thousand. Its market share in testing and automation is almost 30%.

Support for languages, platforms, browsers:

  • Java
  • C#
  • PHP
  • Ruby
  • Perl
  • Python
  • JavaScript
  • Objective-C
  • Haskell
  • R
  • Windows
  • Linux
  • Mac
  • Android
  • iOS
  • Google Chrome
  • Internet Explorer
  • Firefox
  • Safari
  • Opera
  • Microsoft Edge
  • HtmlUnitDriver


Perhaps the only significant disadvantage is that Selenium can only be used in web applications. But this is more of a limitation, not a drawback, since WinAppDriver can be integrated into Selenium to test desktop applications.

A little history in conclusion

In 2004, Jason Huggins created a JavaScript framework designed to free its creator from repetitive manual testing. The product, predictably first called JavaScriptTestRunner, could run tests directly in the browser, manage page interactions, and re-run them without manual input. This JavaScript tool became popular after Huggins, realizing its full potential, made it open source and renamed it Selenium Remote Control. The innovative part was that until then no other tool allowed testers to communicate with the browser in their programming language of choice.

The Internet is the greatest invention of mankind
The Internet is the greatest invention of mankind

However, it soon became apparent that browsers were applying security restrictions to JavaScript, making it impossible to use the full power of the tool. At that time, Google was an avid user of Selenium and its engineers tried their best to get around the restrictions. One of them, Simon Stewart, started working on a product that would interact directly with browsers and called it WebDriver.

So, over a decade ago, Selenium joined forces with WebDriver, and forever changed the way software is tested. Official site