Selenium 4 Is Releasing Soon: What Every QA Must Know
Selenium 4 Is Releasing Soon: What Every QA Must Know
Learn about the welcome changes coming with Version 4 of Selenium, like better Selenium Grid UI, observability, and more.
Join the DZone community and get the full member experience.Join For Free
Back in August of 2018 the whole testing automation community had been struck by the big news: Simon Stewart, the founding member of Selenium, had officially confirmed the release date and some of the major updates for Selenium 4 at the Selenium Conference in Bangalore. The 4.0 version of the worlds beloved framework for web testing automation was meant to be released by Christmas 2018.
Selenium 4 release date
Now, those who were familiar with the story behind the Selenium 3.0 release, which was also supposed to happen by Christmas, probably already knew back then, the new version would most likely indeed be finished by Christmas, but probably not in 2018. Just like it’s happened with the previous version which was released three years later than promised at the time of the original announcement.
And they would have been right! As of today (and we are updating the information about Selenium 4.0 release in February 2019) the release of the new version still hasn’t happened.
There weren’t any official updates on the release date from any of the founding members, but what we’re seeing at official SeleniumHQ Github, the contributors have only closed half the tasks that need to be done, so we can assume the release is probably not coming until Christmas 2019.
Why Selenium 4.0 is important
If you think that testing automation engineers are the only people in the world who should care about the major update of Selenium, you’re wrong.
Of course, Selenium has become the industry standard for implementing custom automated tests and is considered to be the first go-to solution for every web application that has grown out of an approach where manual testing could have solved the majority of the problems.
But what is often left out of the picture is that businesses that heavily rely on Selenium are not only the ones who have automation QA engineers on their team but also the ones who have integrated codeless automation testing tools based on Selenium.
Selenium-based codeless testing has become a real lifesaver for every business that realizes the importance of automation but doesn’t have in-house QA experts who would be able to implement it. Such tools not only make the deployment possible for anyone with the basic understanding of web browsers but also make it possible to run regression tests, do synthetic monitoring and load testing without any knowledge of Selenium framework at all.
A perfect example of such codeless automation software is CloudQA. On top of Selenium, we’ve developed a tool that requires zero effort from the team, integrates with the third-party applications, makes building test cases easier than ever before, monitors your web page performance 24/7 and costs less than hiring a junior manual tester.
If you want to learn more about the benefits of Selenium-based codeless automation tools, get a free demo.
Selenium 4 major changes
Now let’s get to the list of things that SeleniumHQ have promised to add or change with the upcoming release.
W3C WebDriver Standardization
First of all, Selenium 4 WebDriver will be completely W3C Standardized. The WebDriver API has grown to be relevant outside of Selenium and has been used in multiple tools for automation. For example, such mobile testing tools as Appium and iOS Driver heavily rely on it. The W3C standard will also encourage the compatibility across different software implementations of the WebDriver API. Here’s how Selenium Grid communicates with the Driver executables as of now:
A test in Selenium 3.x communicates with the browser at End node through the JSON wire protocol at the local end. This approach requires encoding and decoding of API.
With the updates we’re expecting to see in Selenium 4, the test will directly communicate without any encoding and decoding of API requests through W3C Protocol. Although JAVA bindings will be backward compatible, the focus will remain more on the W3C Protocol. The JSON wire protocol will no longer be used.
There are multiple contributors to the W3C WebDriver specs, and the whole process can be seen on GitHub.
Selenium 4 IDE TNG
The Selenium IDE support for Chrome is in the bucket. As we all know that Selenium IDE is a record and playback tool. It will now be available with the following, much richer and advanced features:
New plug-in system. Any browser vendor will now be able to easily plug into the new Selenium IDE. You’ll be able to have your own locator strategy and Selenium IDE plug-in.
New CLI runner. It will be completely based on NodeJS, not the old HTML-based runner, and will have the following capabilities:
WebDriver Playback. The new Selenium IDE runner will be based entirely on the WebDriver.
Parallel execution. The new CLI runner will also support parallel test case execution and will provide useful information like time taken, and a number of test cases passed and failed.
Improved Selenium Grid
Anyone who has ever worked with Selenium Grid knows how difficult it is to set up and configure. Selenium Grid supports test case execution on different browsers, operating systems, and machines providing parallel execution capability. There are two main elements of the Selenium Grid: Hub and Node. Hub acts as a server, a central point to control all the test machines in the network. In Selenium Grid there is only one hub which allocates the test execution to a particular node based on capability matches. Node, in simple words, is a test machine where test cases actually run.
For more details on Selenium Grid, we suggest reading the complete official tutorial on Selenium Grid. Until now, the setup process of the Selenium Grid has often caused testers difficulties with the connecting node to the hub. In Selenium 4, the grid experience is promised to become smooth and easy since there will no longer be any need to set up and start hubs and nodes separately. Once you start a Selenium server, the grid will act as both a hub and node. Selenium 4 will come with a more stable Selenium grid in terms of removing all the thread-safety bugs, and better support for Docker.
Better Selenium Grid UI
Another priority for Selenium 4 that was emphasized during the announcement speech was to come up with a more user-friendly UI of the grid that would have all the relevant information about the sessions running, capacity, etc.
“Passive observability is the ability to do descriptive tracing.”
– Simon Stewart
Observability, logging and debugging is no more confined to DevOps now. As part of the upcoming release, the request tracing and logging with hooks will be improved to provide automation engineers a hold on debugging.
Documentation plays a key role in the success of any project. Selenium docs have not been updated since the release of Selenium 2.0. Meaning, that anyone trying to learn Selenium in the past several years, had to use the old tutorials.
So, naturally, the renewed and up-to-date documentation, which SeleniumHQ promises to deliver us along with the 4.0 version, has become one of the most anticipated Selenium updates within the testing automation community.
In the meanwhile, you can still access all of the existing Selenium documentation.
Selenium 4 In a Nutshell
We’ve listed all the major changes that we are likely to see when Selenium 4 is finally released. If you’re interested in learning more about the story behind the framework, its’ founding members and more about the new features Selenium will have, we suggest watching this video from the 2018 Selenium Conference, where the release was announced:
In the meanwhile, if you are only about to start implementing the automation testing, or looking for a hustle-free Selenium automation alternative, give our codeless automation tools a try.
Your first month is on us!
Published at DZone with permission of Charles Taylor , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.