Selenium 4
Selenium 4

Selenium 4

Firstly, Simon Stewart who’s a father of the Selenium recently announced that he is working for the selenium 4 version which is going to have certain features which is very exicting. Selenium 4 is coming(currenlty it has alpha version) and we have lots of different features that are going to launch. In this article we are going to show you what are the top few features that you should know if you are working with selenium. These that I believe will definitely going to excites you.

So let’s see what are the basic interesting features that are coming out. As you know with this release the selenium core is going to obsolete. And the selenium RC api’s are modified to leg-rc. And it is going to introduce more stable selenium grid in terms of thread safety bugs as well as the proper docker support. As part of this release request tracing and logging with hooks will be modified and improvised. This change is in order to provide automation engineers a great hold on malicious bugs. Moreover, most of the guys are switched from normal selenium grid(which we generally try to run) towards the docker selenium grid.

W3C Standardized

What will excite you is that the webdriver API is becoming a w3c standards which basically means that now it’s going to support variety of devices. W3C standard basically is going to encourage the compatibility across the different software implementation. The W3C reccommendation document for Selenium WebDriver is now available wich provides a crystal clear picture of how Selenium API’s are working. The test will directly communicate without any encoding and decoding of API requests(through the W3C protocol), though Java bindings will be backward-compatible. The JSON wire protocol will no logner be used.

Selenium 4 IDE

  • New plugin system
  • New CLI runner
  • WebDriver Playback
  • Parallel execution
  • It’s going to support Chrome and Firefox.

Any browser vendor will now be able to easly plug-in to the new selenium IDE. You can have your own locator strategy and can plug in selenium IDE. The CLI runner will be completely based on nodejs and not old HTML based runner. Moreover, the new Selenium IDE runner will be completely based on WebDriver. Above all, the new CLI runner will support parallel test case execution and will provide useful information like time taken.

Improved Selenium grid

In Selenium 4 the grid experience is going to be easy and smooth. As there will not be any need to set up and start hub and node separatly. Once we start selenium server the grid will act as both – hub and node.

Another important thing is that the Selenium 4 would come up with more user-friendly UI having relevant prieces of information about sessions running, capacity, etc.

Other updates

There are some importing updates on the methods. Selenium 4 comes with new method that it’s basically a switch to parent frame:

driver.switchTo().parentFrame()

They replaced the methods for size and location with one single method:

WebElement.getRect()

Selenium 4 increases the support for docker local containers. They have basically removed the support for Phantom JS headless mode. Instead, they are suggesting to use Chrome and Firefox browsers in headless mode. The option class for every browser is now extending the Capabilities class. Upgrading to the latest version of selenium should not require any code changes. Setting up node and hub will become smooth and the entire grid experience is going to be streamlined.

That’s all about the new features, do not hesitate to use selenium automation tests together with Snapics. Functional tests are cool but if you work for the best quality, you have to work for 100% coverage on your website.