DEV Community

Cover image for A PAGE TALKS ABOUT (Selenium Manager -Management)
Kiran Edupuganti
Kiran Edupuganti

Posted on

A PAGE TALKS ABOUT (Selenium Manager -Management)

MY WORKOUTS: WRITING AND SPEAKING

Selenium Manager - Management

A PAGE TALKS ABOUT column from the @rewirebyautomation channel, which has published a short introduction to ‘Selenium Manager’ titled ‘Selenium Manager — Preface’. If you haven’t read it yet, please navigate to this story first. I recommend reading the introductory story as a prerequisite before scanning below. It will help you to benefit from and establish connectivity throughout this journey.

Refer to the story below if you have not already read it –

Selenium Manager - Preface

As we recognize the significance of maintenance in the automation world, ‘Selenium Manager’ has been introduced to ease and support the initial step of minimizing human involvement in driver and browser management before the session begins. I have provided the drafted details of ‘Selenium Manager’ in the previous story. This story is more focused on understanding ‘Driver Management’ and ‘Browser Management’.

Driver Management seamlessly operates in various instances, such as when no driver is available in the current system, and it adapts according to the installed browser version. In essence, it follows the process of ‘Discover’, ‘Download’, and ‘Cache’ in the background silently, preparing the WebDriver browser session to start. This eliminates the need for the initial setup of driver download, configuring the path/system path, and referencing it in the code to establish the driver session and execute further actions. Automated Driver Management creates a straightforward path to initiate the session directly without driver reference, allowing the user to focus on coding operations rather than on driver maintenance.

Refer to the image below, which outlines the background process involved in ‘Driver Management’.

Driver Management

Browser Management operates seamlessly in various instances, including when ‘No Browser is installed’, for ‘Specific Recent version’, ‘Backward Compatibility’, and ‘Label reference to “In Dev” version’. Similar to the Driver, Browser Management also follows the ‘Discover’, ‘Download’, and ‘Cache’ processes to identify the correct version, perform version availability checks, and make a ‘CfT’ (Chrome for Testing) request in the case of Chrome. It downloads and caches the target browser used for further testing. This process supports Firefox and Edge browsers.

Refer to the image below, which outlines the background process involved in ‘Browser Management’.

Browser Management

Value added aspects are listed below, considering its facts and functionality based on my analysis/workouts.

Primarily, it offers flexibility by allowing the addition of browser versions, thus expanding its capability to support backward compatibility from version 113 onwards. Another noteworthy value addition is its support for ‘In Dev’ versions. Lastly, it’s worth mentioning that being _‘shipped along with every Selenium release’ _significantly simplifies the lives of the Selenium automation community, eliminating the need to track this component separately.

Refer to the image below, which outlines the value additions that I perceive in each category based on real world Automation scenarios.

Value Adds

I conclude the ‘Selenium Manager — Management’ story. This story explains the driver and browser management process in detail, 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 and Implementation session below from the @reWireAutomation YouTube channel.

As a pipeline story, I will soon publish ‘Selenium Grid Integration with Selenium Manager and Its Implementation’ which aims to provide valuable insights to the Selenium Automation Community.

With this, _@reWireByAutomation _is signing off!

Top comments (0)