What should every QA engineer know about Selenium 4?
Hello friends. May is rich in new courses, and right now, in anticipation of the launch of the Java QA Engineer course , we continue to publish useful material for QA professionals.
Back in August 2018, when the testing community was shocked by the news that Simon Stewart, one of the founders of Selenium, officially approved the release date and advertised some major updates to Selenium 4 at the Selenium Conference in Bangalore. The fourth version of everyone's favorite web testing automation framework was due out by Christmas 2018.
Release Date Selenium 4
Those who are already familiar with the release history of Selenium 3, which was also due to happen by Christmas, suggested that the new version would be completed by Christmas, but most likely not in 2018. Exactly the same as it happened with the previous version, which was released three years after the officially announced date.
And they were right! To date (even with updated information about the release of Selenium 4 in February 2019), there has still not been an official release.
Also, no official information was received about the new release dates from the founders of the project. However, as we see on the official SeleniumHQ project page on Github, the developers closed only half of the tasks that needed to be done, so it can rightly be assumed that the official release will not happen before Christmas 2019.
What is the importance of Selenium 4?
If you think that test automation engineers are the only people in the world who need to care about the release of the Selenium update, you are mistaken. Of course, Selenium has become the industry standard for automated testing. It is considered the primary tool for testing web applications already too large for manual testing.
It is also ignored that companies that rely heavily on Selenium are not just companies that have QA engineers on their staff, but also those who use integrated automated codeless testing tools based on the same Selenium. Selenium-based codeless testing has become a real salvation for companies that recognize the need for automation, but do not have QA experts on their staff who can figure it out. Such tools not only make deployment possible for those who have a basic understanding of web browsers, but also allow you to run regression tests, perform synthetic monitoring and load testing without any knowledge of the Selenium framework.
Major changes in Selenium 4
Now let's move on to the list of things that SeleniumHQ promised to add or change in the next version.
Standardization of WebDriver W3C
First, Selenium 4 WebDriver will be fully standardized by W3C. The WebDriver API has also become relevant outside of Selenium and is now used in various automation tools. For example, mobile testing tools such as Appium and iOS Driver are based on it. The W3C standard is also responsible for interoperability between various software applications with the WebDriver API.
Here's how Selenium Grid interacts with driver executables at the moment:
The test in Selenium 3.x interacts with the browser at the end node via the JSON wire protocol at the local end point (local end). This approach requires encoding and decoding API requests.
Judging by the updates that we expect to see in Selenium 4, the test will interact directly without encoding and decoding API requests through the W3C protocol. Despite this, Java will still be backward compatible, but the W3C consortium protocol will be in the spotlight. But the JSON wire protocol will no longer be used.
Several developers are working on the W3C WebDriver specifications, and you can see the whole process on GitHub .
Selenium 4 IDE TNG
The Selenium IDE supports Chrome out of the box. As you know, the Selenium IDE is a recording and playback tool. Now it will be available with the following, richer and more advanced functionality:
Improved Selenium Grid
Everyone who has ever worked with Selenium Grid knows how difficult it is to set it up. Selenium Grid supports running tests across multiple browsers, operating systems, and machines that run concurrently.
Selenium Grid has two main elements: Hub and Node.
The hub (hub) works as a server, the central point of control for all tested machines on the network. In Selenium Grid, there is only one hub that allocates a specific node for the test in accordance with its potential.
A node, in simple words, is a test machine on which tests are running.
To learn more, we recommend that you read the complete official Selenium Grid Guide.
Until now, the process of connecting a node to the hub in the Selenium Grid has caused serious difficulties for testers.
In Selenium 4, working with Grid promises to be simple, since there will no longer be the need to configure and run hubs and nodes separately. After starting the Selenium server, the Grid will work both as a node and as a hub.
Selenium 4 will ship with a more stable version of Selenium Grid. Thread safety bugs will be fixed and support for Docker will be improved.
Improved Selenium Grid user interface
Another priority in the development of Selenium 4, which was highlighted during the official announcement, was the creation of a more convenient Selenium Grid user interface, which will reflect all relevant information about sessions, power, etc.
Improved Observability
Observability, logs and debugging are no longer limited to DevOps. As part of the upcoming release, query tracing and logging with hooks will be improved to provide debugging capabilities for automation engineers.
Updated documentation
Documentation plays a key role in the success of any project. Selenium documentation has not been updated since the release of Selenium 2.0. This means that everyone who has tried to learn Selenium in the last few years has used the old tutorials.
Thus, naturally, the updated and up-to-date documentation that SeleniumHQ promises to provide us with version 4.0 has become one of the most anticipated Selenium updates in the testing automation community.
However, you can still access all existing Selenium documentation .
Selenium 4 in a nutshell
Here are all the major changes that we are likely to see when Selenium 4 is finally released. If you are interested in learning more about the history of the framework, its founders and the new features of Selenium, we suggest watching this video from the Selenium 2018 conference year where the release was announced.
Write comments and sign up for Open Day , which will be held on May 22. See you at OTUS!
Back in August 2018, when the testing community was shocked by the news that Simon Stewart, one of the founders of Selenium, officially approved the release date and advertised some major updates to Selenium 4 at the Selenium Conference in Bangalore. The fourth version of everyone's favorite web testing automation framework was due out by Christmas 2018.
Release Date Selenium 4
Those who are already familiar with the release history of Selenium 3, which was also due to happen by Christmas, suggested that the new version would be completed by Christmas, but most likely not in 2018. Exactly the same as it happened with the previous version, which was released three years after the officially announced date.
And they were right! To date (even with updated information about the release of Selenium 4 in February 2019), there has still not been an official release.
Also, no official information was received about the new release dates from the founders of the project. However, as we see on the official SeleniumHQ project page on Github, the developers closed only half of the tasks that needed to be done, so it can rightly be assumed that the official release will not happen before Christmas 2019.
What is the importance of Selenium 4?
If you think that test automation engineers are the only people in the world who need to care about the release of the Selenium update, you are mistaken. Of course, Selenium has become the industry standard for automated testing. It is considered the primary tool for testing web applications already too large for manual testing.
It is also ignored that companies that rely heavily on Selenium are not just companies that have QA engineers on their staff, but also those who use integrated automated codeless testing tools based on the same Selenium. Selenium-based codeless testing has become a real salvation for companies that recognize the need for automation, but do not have QA experts on their staff who can figure it out. Such tools not only make deployment possible for those who have a basic understanding of web browsers, but also allow you to run regression tests, perform synthetic monitoring and load testing without any knowledge of the Selenium framework.
Major changes in Selenium 4
Now let's move on to the list of things that SeleniumHQ promised to add or change in the next version.
Standardization of WebDriver W3C
First, Selenium 4 WebDriver will be fully standardized by W3C. The WebDriver API has also become relevant outside of Selenium and is now used in various automation tools. For example, mobile testing tools such as Appium and iOS Driver are based on it. The W3C standard is also responsible for interoperability between various software applications with the WebDriver API.
Here's how Selenium Grid interacts with driver executables at the moment:
The test in Selenium 3.x interacts with the browser at the end node via the JSON wire protocol at the local end point (local end). This approach requires encoding and decoding API requests.
Judging by the updates that we expect to see in Selenium 4, the test will interact directly without encoding and decoding API requests through the W3C protocol. Despite this, Java will still be backward compatible, but the W3C consortium protocol will be in the spotlight. But the JSON wire protocol will no longer be used.
Several developers are working on the W3C WebDriver specifications, and you can see the whole process on GitHub .
Selenium 4 IDE TNG
The Selenium IDE supports Chrome out of the box. As you know, the Selenium IDE is a recording and playback tool. Now it will be available with the following, richer and more advanced functionality:
- New plugin system. Now any browser provider can easily “connect” to the new Selenium IDE. You can use your own locator strategy and the Selenium IDE plugin.
- New CLI runner. It will be entirely based on NodeJS, not HTML, as it was before, and it will also have the following features:
- WebDriver Playback. The new Selenium IDE runner will be entirely based on WebDriver.
- Parallel execution. The new CLI runner will support parallel execution of tests and provide useful information such as time spent, as well as a set of passed and failed tests.
Improved Selenium Grid
Everyone who has ever worked with Selenium Grid knows how difficult it is to set it up. Selenium Grid supports running tests across multiple browsers, operating systems, and machines that run concurrently.
Selenium Grid has two main elements: Hub and Node.
The hub (hub) works as a server, the central point of control for all tested machines on the network. In Selenium Grid, there is only one hub that allocates a specific node for the test in accordance with its potential.
A node, in simple words, is a test machine on which tests are running.
To learn more, we recommend that you read the complete official Selenium Grid Guide.
Until now, the process of connecting a node to the hub in the Selenium Grid has caused serious difficulties for testers.
In Selenium 4, working with Grid promises to be simple, since there will no longer be the need to configure and run hubs and nodes separately. After starting the Selenium server, the Grid will work both as a node and as a hub.
Selenium 4 will ship with a more stable version of Selenium Grid. Thread safety bugs will be fixed and support for Docker will be improved.
Improved Selenium Grid user interface
Another priority in the development of Selenium 4, which was highlighted during the official announcement, was the creation of a more convenient Selenium Grid user interface, which will reflect all relevant information about sessions, power, etc.
Improved Observability
“Passive observability is the ability to do descriptive tracing.”
- Simon Stewart
Observability, logs and debugging are no longer limited to DevOps. As part of the upcoming release, query tracing and logging with hooks will be improved to provide debugging capabilities for automation engineers.
Updated documentation
Documentation plays a key role in the success of any project. Selenium documentation has not been updated since the release of Selenium 2.0. This means that everyone who has tried to learn Selenium in the last few years has used the old tutorials.
Thus, naturally, the updated and up-to-date documentation that SeleniumHQ promises to provide us with version 4.0 has become one of the most anticipated Selenium updates in the testing automation community.
However, you can still access all existing Selenium documentation .
Selenium 4 in a nutshell
Here are all the major changes that we are likely to see when Selenium 4 is finally released. If you are interested in learning more about the history of the framework, its founders and the new features of Selenium, we suggest watching this video from the Selenium 2018 conference year where the release was announced.
Write comments and sign up for Open Day , which will be held on May 22. See you at OTUS!