Selenium is certainly one of the most popular open-source automation tools available. In late 2018 Selenium 4 was officially announced with new features it will bring to the table for us in the field of Selenium automation testing. So there are exciting changes just around the corner. But as of right now Selenium 4 is just in Alpha.
What Do We Know About Selenium 4 So Far?
It is still in development and may suffer from instability. So if you intend to use the newest feature in your important project, we would advise to hold on just a little bit longer until there is a stable release. That being said, in this blog post we will get you up to speed on what features you can expect from the next iteration of this awesome framework.
W3C WebDriver Standardization
One big architectural change coming with Selenium 4, is the WebDriver becoming completely W3C Standardized. Selenium 4 will change from JSON Wire Protocol, used in Selenium 3 to W3C protocol. This means communication without any encoding and decoding of API requests.
As a big plus with the WebDriver becoming standardized, also the supporting documentation for Selenium has been changed and updated in accordance with W3C recommendation. This is a welcome change as there has not really been any good Selenium documentation. Check it out here, there are detailed information and code examples.
Changes in Browser Support
Opera and PhantomJS are no longer natively supported. If the need to test the Opera browser arises then you can simply rely on Chrome, as Opera is based on Chromium and work in a similar manner. And for headless testing, there is the Chrome Headless and Firefox Headless available.
A Better Selenium IDE
The record and playback feature, also known as the IDE is taken to a whole new level with Selenium 4 adding advanced and rich features. Right now there is only support for Chrome. But with the new version and with a plug-in you can run it in any Browser! It will also run solely on the WebDriver.
New CLI runner based on nodeJS and not the old HTML based runner.
A More Stable Selenium Grid
The Selenium Grid while providing good parallel execution has been difficult it is to set up and configure. With problems connecting nodes with hubs for example. Introduced with Selenium 4, the grid will act as both the Hub and the Node, meaning it will simplify the configuration and setup. Also better support for docker is coming and improved UI elements.
What can we expect?
Even though many features have been added, and probably more changes will come before the final release. You can still expect to run more or less the same code as you would have before updating. Meaning also that the existing automation framework should work with only small changes at most.
Try out Selenium 4 Alpha!
Image by GerDukes via [source link] (copyright-free)