A PAGE TALKS ABOUT (Selenium Manager -Preface)
Tags: webdev, selenium, automation, testing
Published: 2024-04-06 17:32:31


![Selenium Manager - Preface](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gsxrcusw8eo2ocoaqzs9.png)

**_MY WORKOUTS: WRITING AND SPEAKING_**

**_A PAGE TALKS ABOUT _**column from the **_@reWireByAutomation _**channel, addressing this topic as a regular feature and highlighting the initial step in initiating a flawless session within the Selenium Automation World. Consequently, the @reWireByAutomation channel publishes insightful content regarding the excellence of Selenium Manager in two stories titled **_‘Selenium Manager — Preface’ and ‘Selenium Manager — Management.’_**

Refer to the image below, which provides the Selenium Manager Playlist Program –


![Selenium Manager Playlist](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ycmcvyli8b478snweam3.png)

With this context in mind, the **@reWireByAutomation** channel extends **_congratulations and sincere gratitude for the relentless effort put forth to make ‘Selenium Manager’ seamless, effortless, _**and capable of eliminating human attention in Driver and Browser management, which has been in manual mode since the inception of Selenium Webdriver. This change is expected to become even more advanced in the coming days to meet global automation needs. I once again appreciate the designers and authors of Selenium Manager for introducing **_the ‘Automated’ feature to the ‘Maintenance World’ _**eliminating one aspect of it, which I perceive as viewing the other side of the coin.

In the legacy era before the Selenium 4.6 release, we followed a process involving downloading chromedriver manually, referencing the driver path or system path to the downloaded version of the driver. Additionally, we needed to ensure compatibility with the latest version of the browser and download the corresponding chromedriver. Failure to do so would result in an exception being thrown when a session was initiated. Google Chrome operates in “evergreen” mode, ensuring the latest and most stable browser version is automatically processed in the background, a critical feature for end users. However, in the Automation World, this continuous update process can lead to exceptions and requires regular attention to ensure compatibility with the latest browser version. This is where “Selenium Manager” steps into assist the Selenium Automation community by facilitating flawless Driver / Browser management and further achieving exception free Webdriver sessions.

In its preface, Selenium Manager was introduced in version 4.6 primarily for Driver management with Chrome, starting from Chrome version **113.** It has remained in the Beta version since its introduction, with subsequent updates adding additional features and support to the rest of the prime browsers. Browser Management was included from version **4.11.0 **onwards, and its functionality was expanded to include Firefox **(v114)** and Edge **(v115)** browsers from versions **4.12.0 and 4.14.0** respectively.

Starting from the basic architecture of Selenium, the Selenium language bindings initiate a call before the Webdriver session starts. They connect with the browser driver, which in turn communicates with the browser. The browser then communicates with the relevant application server via communication networks, simulating target actions on the browser. Information is then sent back to the driver, which in turn relays it back to the language bindings. This process constitutes bidirectional communication in the Selenium Automation world.

Refer to the image below, which provides an overview of the Selenium architecture.


![Architecture](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ctkmfizfjcfuqs3w9qv8.png)

As briefly mentioned above, managing the driver and browser is cumbersome, requiring specific human attention, and dealing with backward compatibility issues can be painful. Therefore, automating this process has been under consideration to enhance the “Selenium Automation Capability” to the next level.

Refer to the image below which illustrates the need for ‘Automation’ **_(Legacy approach)_**, a focal point where Selenium designers concentrated and brought about significant advancements in Driver/Browser management.


![Legacy Approach](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/04pr8b7kpktqfzibvgkt.png)

To bridge the gap and automate ‘Automation Activities’, the ‘Selenium Manager’ CLI Tool is introduced. This tool follows the management process in the background, offering a unique feature that enables the handling of driver/browser requirements for automation without human intervention. This overall facilitates **_‘Effortless Management’ _**in this aspect.

Refer to the images below, which provide details on ‘Selenium Manager’ and its role in simplifying driver/browser management, thereby enhancing its capabilities for better performance.


![Selenium -Glimpse](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qf91jcvxoiztveh1hew6.png)


![New Approach Automated](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qbwiesvc8zcodb8d2q26.png)

The core focus of Selenium Manager’s features lies in seamless driver and browser management, addressing various scenarios such as **_“No Driver Available/No Browser Installed”, “specific browser testing”, backward compatibility testing with older browser versions, and “in-development” browser version testing_** to identify compatibility issues early. It supports all three major platforms — Windows, Linux, and Mac — as well as the three primary browsers: Chrome, Firefox, and Edge. Additionally, it is compatible with all Selenium language bindings and integrates easily with Selenium Grid.

Refer to the image below, which provides Selenium Manager Features


![Selenium Manager - Features](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/md585xrnjp28u5i3icp8.png)

I conclude the **‘Selenium Manager — Preface’** story. This story introduces driver and browser management, operates silently without human intervention, and provides flexible options for interacting with various aspects of the browser in the Selenium Automation world. Its integration with Selenium Grid further enhances its simplicity, ensuring it seamlessly operates in the background.

Refer to the voiceover below from the @reWireAutomation YouTube channel.

{% embed https://youtu.be/5f4VhrI-bpA %}

The next story in the series of **_‘Selenium Manager’ is titled ‘Selenium Manager — Management’._** You can look to understand the process behind ‘Selenium Manager’ and its implementation.

With this, **_@reWireByAutomation_** is signing off!