Selenium 4 Features: What’s New and What You Need to Know


Share post:

Selenium is the preferred tool suite for automated cross-browser web application testing. Simon Stewart, creator of WebDriver (and core contributor to Selenium), publicly launched Selenium 4 in 2018. Selenium 4’s new features and functionality have gained much traction since then.

The official site has a beta version of Selenium 4 that can be downloaded. The Selenium 4 tool suite includes a revamped IDE and new APIs. It also has a W3C-standard protocol.

This article describes these major upgrades and how they will benefit testers.

Note that the stable version has not yet been released. Selenium 4 Alpha 7 was released on the 10th of November 20. All the features should be included in the next Selenium 4 official release. Upgrades or migrations of existing Selenium projects are not recommended until Selenium 4 has been officially released.

What’s New in Selenium 4?

Selenium 4 originally was intended to replace selenium 3. In the process, it gained some new features. Below is a brief description of some of the new or advanced features of selenium 4. The updated version allows the elements to be shuffled or sorted based on the bounding client rectangle. The elements are sorted according to the distance between each other.

  • Users can also find the relative locator using any selector.
  • Also, they have released a component of the ChromDevTools. The Network Interceptor is a feature that allows testers to halt responses to requesters.
  • Selenium 4 makes using multiple tabs and applications in a single test flow easy. It can also be used to create a new tabbed or new window.
  • Selenium 4 allows you to work in multiple tabs and windows simultaneously. This will enable us to navigate through different windows and URLs simultaneously.
  • The IDE and Gird web drivers have all been updated to correspond with the most recent changes.
  • The selenium web driver provides a flexible and user-friendly Application Programmable Interface.
  • Selenium grid makes testing easy and allows tests to be run on multiple machines.

Selenium documentation: Native support for Opera, Phantom JS, and their WebDriver implementations has been discontinued in Selenium 4. Chrome testing can optimize Opera as it is based on Chromium. PhantomJS requires users to use Chrome or Firefox headless.

Selenium 4 brings you some significant improvements, such as:

1) Selenium WebDriver W3C Standardization

In Selenium versions before Selenium 3, the JSON Wire Protocol handled communication between the browser and test code. The W3C protocol was used to encode and decode the API requests, which added additional overhead. Selenium WebDriver will change this with Selenium 4, as WebDriver APIs are now standardized by W3C.

WebDriver W3C Protocol co-exists with JSON Wire Protocol and will be the default in Selenium. Selenium 4 will use the WebDriver W3C protocol instead of JSON Wire Protocol.

Selenium 4 removes native compatibility for Opera and PhantomJS, as the WebDriver implementations of these browsers are no longer being developed. Users who want to test their implementations on Opera should use the Chrome browser. The Opera browser is built on Chromium. PhantomJS users can test on Firefox or Chrome in headless mode.

WebDriver W3C Protocol will be the most significant architectural change in Selenium 4. Standardizing WebDriver W3C will lead to more stable browser cross-tests than previous versions! LambdaTest is an AI-powered automated browser testing on a reliable, scalable, and secure automation cloud. Perform Selenium tests on over 3000 browsers and devices.

2) Improved and Optimized Selenium Grid

The Selenium grid, used to execute distributed tests, is built on a Hub-Node architectural model. When automating tests, both the Hub and the Node must be started separately. Hub and Node will soon be packed into a single Jar file. Once launched, the server will act as both a Hub and a Node. In earlier versions of Selenium Grid, the Router, Session Map, and Distributor processes were supported. The Selenium Grid 4 supports four processes: Router, Session map, Distributor and Node.

Grid users will be able to communicate with Grid via HTTPS. The improved Selenium Grid will make it easier for users to configure it using the human-readable TOML language (Tom’s Simple, Obvious Language).

Selenium 4 grid has a more user-friendly interface. Selenium Grid supports Docker, making it easier to run on Virtual Machines. Selenium Grid 4 users can also deploy the Selenium grid on Kubernetes. Selenium Grid 4 is a powerful tool for DevOps, as it works with tools such as AWS, Azure, and others.

3) Enhanced Selenium 4 IDE

Automation test engineers familiar with record and playback tests would have encountered Selenium. It’s a web-ready, turn-key solution. Selenium IDE was previously only available as a Firefox Extension and did not offer enough features.

The Selenium IDE has finally become ‘useful’ with Selenium 4 as it’s available for Chrome and Firefox. MS Edge Store expects to launch the Selenium IDE plugin (or web extension) soon.

Selenium IDE allows you to create better tests as it has a control flow mechanism (i.e., use of if..else. while, etc.). The Selenium IDE has a SIDE (Selenium IDE Runner), which lets you run a.side on a Node.js Platform. The SIDE Runner can execute cross-browser tests in parallel on a local Selenium Grid or a cloud Selenium Grid. The tests run on the Selenium IDE are more reliable and stable.

The automation tests in the Selenium IDE can now be exported to code for any official language bindings, such as Java, C# Python,.NET and JavaScript. This tool is great for black-box testers who want to get into automation testing but don’t know much about Selenium. SIDE’s configuration files can be customized to allow parallel testing in the Selenium editor.

4) Enhanced Documentation

Selenium 4’s official documentation is comprehensive, and its content layout lets you find the information you need in just a few mouse clicks. The enhanced documentation is especially useful since Selenium 4 remains in its Alpha stage. It helps you understand how to use the new features and APIs in Selenium 4 in your test code.

Selenium 4 Documentation covers the entire Selenium Grid, IDE, and WebDiver W3C Protocol. Automation testers will find the documentation useful in familiarizing themselves with the new Selenium 4 APIs. Test Selenium IDE tests on the cloud for free.

5) Relative Locators

There was no shortcut (or method) in Selenium 3 to locate WebElements for nearby elements. Selenium 4 Alpha introduces relative Selenium Locators that allow WebElements to be located based on their visual position relative to other DOM components.

Relative locators (also called Friendly locators) help locate WebElements near, to the left, right, above, and below an element. The relative locator supports withTagName for Selenium 4 Java and with_tag_name for Selenium 4 Python. The five relative locators available in Selenium 4 Alpha are:

  • Above: The WebElement required is “above” a specified element (or specific element).
  • Below: The WebElement required is “below” a specified element (or a particular element).
  • To_left_of: The WebElement required is to a specific element’s left (or right).
  • To_right_of: The WebElement required is “to the right” of a specific (or particular element).
  • Near: The WebElement required is no more than 50 pixels from the specified element.

6)  Deprecation of Desired Capabilities

Wanted Capabilities are primarily used to define the Selenium Grid test environment for the Selenium Grid (browser, version, and operating system). Options replace capabilities in Selenium 4. Testers must create an Options object and set the test requirements before passing the object to the Driver constructor.

Below are the Options objects that will be used in the future to define browser-specific functionality:

  • Firefox – FirefoxOptions
  • Chrome – ChromeOptions
  • Internet Explorer (IE) – InternetExplorerOptions
  • Microsoft Edge – EdgeOptions
  • Safari – SafariOptions

Selenium 3 vs. Selenium 4

The introduction of WebDriver W3C (and the retirement of JSON Wire Protocol) is one of many architectural changes that will redefine the Selenium Framework experience.

Selenium 4 Alpha is a significant upgrade to Selenium 3 due to the addition of the relative locators, What are selenium grid, the super-useful Selenium-IDE (on Firefox and Chrome), and the native support for CDP (Chrome DevTools).

End Note

As we close our investigation of Selenium 4, we see that web automation has evolved significantly. Selenium 4 provides developers and testers with a powerful toolkit that allows them to navigate modern web applications. When you begin your journey with Selenium 4, remember to use its new features wisely, experiment with its capabilities, and keep up with the latest developments in automated testing. Selenium 4, your partner, will allow you to create robust, scalable, and resilient test automation. Embrace the future with knowledge and insights from our exploration. Let Selenium 4 propel you to success.


Related articles

How to Overcome Common Travel Anxieties and Embrace Adventure

Travel, with its unfamiliar landscapes and unpredictable scenarios, is an invitation to step outside of your comfort zone....

Top Advice for a Stress-Free Long-Distance Apartment Search

Starting a long-distance apartment search may be a difficult undertaking that is fraught with uncertainty and practical difficulties....

Understanding the Tax Implications of Cash Property Sales

In an era where the property market is as dynamic as ever, cash sales of properties are becoming...

Top 5 Tips for Discovering the Best Pizza in Walnut Creek

Nestled in Northern California, Walnut Creek is renowned for its natural beauty and diverse culinary scene. Among the...