Selenium 4 Has Been Released!
Let's talk about the release of Selenium 4 in this article. The alpha, beta, and release candidate stages of the software product life cycle are generally acknowledged practises. The programme "Selenium 4" is ready for production release after the release candidate. That indicates that there were no catastrophic bugs after numerous verifications. There were a total of 7 Alphas, 4 Betas, and 3 Release Candidates for Selenium Automation Testing.
The Selenium Release Date has been
officially postponed from April 2019! The eagerly anticipated wait is now over.
Selenium 4 has arrived with some helpful upgrades. You will learn about the
family of Selenium 4 releases by the article's conclusion.
Summary of Contents
Silver IDE
Selenium Grid
Selenium WebDriver
Video of Selenium 4
With the introduction of Selenium 4,
various new features have been included. Network interception and the option to
use basic or digest authentication to authenticate on a website are some of the
features.
Interception of network traffic is a
technique used to monitor what is happening on the network. We can obtain HTTP
Status Codes and change HTTP flow using Selenium 4.
When a client sends a request to the
server using HTTP, basic authentication is the HTTP authentication mechanism
used.
An HTTP authentication technique
called digest authentication is intended to be more secure than a simple
authentication. The client uses an algorithm to build a hash rather than
sending the login or password.
Silver IDE
The activities we perform on a website
are recorded by Selenium IDE and then replayed. The extension was only
accessible on Firefox before Selenium 4. With the updated version, Firefox and
Chrome users can record and replay their actions.
The Backup Element Selectors, Control
Flows, and the Command Line Runner, or CLI runner, are among the new Selenium
IDE features. Additionally, there are plans to release Selenium IDE as an
Electron app. We can use the Debugging Protocol and listen for events from the
browser thanks to the Electron app.
Silver Grid
We can remotely run Test Scripts on
physical or virtual machines using Selenium Grid. We direct client commands to
distant browser instances. The advantage allows Test Scripts to execute
concurrently on many computers, browsers, and OS systems.
The Grid now has a new functionality
that makes use of a sophisticated architecture and multiple components thanks
to Selenium 4. Client, Router, Session Queue, Distributor, Session Map, Node,
and Event Bus are some of the parts. Additionally, a new method of querying and
obtaining data has been added: GraphQL. A screenshot of the Grid Components
taken from the Selenium website is shown here.
The process begins with the Router
waiting for a client session request. The Router forwards each request to the
appropriate component after receiving it. If the request is fresh, the Router
and Session Queue start corresponding. If the request is not brand-new, then
the Router and Session Map are in contact. A new session is added to the
session queue by the router, who then waits for a response. First In First Out
(FIFO) order governs the scheduling of all of the sessions in the session
queue.
The first matching request from the
New Session Queue must be made by the Distributor. The Distributor tries to
start a new session if a spot opens up in the New Session Queue. The
information is sent to the New Session Queue after it looks for an acceptable
Node to create a session on.
There may be several Nodes, and each
Node has the ability to relay commands through a particular configuration or
run sessions in Docker containers. Each Node manages browser slots.
All of the running machine's accessible
browser drivers are automatically registered by the Node by default. Chrome,
Edge, and Firefox all have different CPUs than Safari and Internet Explorer.
Internet Explorer and Safari are given a single slot each. However, Firefox and
Chromium-based browsers are given one slot per available CPU (Chrome and Edge).
The Session Map contains data about
the Node and the Session ID. The Session Map receives a Session ID from the
Router. The Session Map then returns the related Node to the Router. When launching
the Selenium 4 Grid in its fully distributed configuration, the Event Bus
should come first. As a mediator between the Nodes, Distributor, Session Queue,
and Session Map, it has this responsibility. Selenium 4 Grid utilises messages
to facilitate internal communication. Consequently, the Grid avoids exorbitant
HTTP calls.
Selenium WebDriver
Architecture
The W3C WebDriver Protocol, which was
developed by Simon Stewart, the inventor of Selenium WebDriver, is the primary
justification for upgrading to Selenium 4. It has at least three benefits:
·
WebDriver
Protocol by the W3C offers specifications.
·
The W3C WebDriver
Protocol offers consistency.
·
Updated Actions
API from the W3C WebDriver Protocol is offered, and it comes with enhanced
resources.
The JSON Wire Protocol was a part of
the Selenium 3 architecture. Information flow from the client to the server was
the goal of JSON Wire Protocol. Sending and receiving HTTP Requests and HTTP
Responses enabled the processing of the data over HTTP.
The JSON Wire Protocol has been
dropped from the new design with Selenium 4. The Selenium Client &
WebDriver Language Bindings and Browser Drivers can now communicate with each
other directly.
Associated Locators
Friendly Locators were once known as
Relative Locators. To locate an element or elements above(), below(), close(),
toLeftOf(), and toRight() another element, Selenium 4 has 5 Relative Locators.
A Relative Locator can be used to
locate a list of elements. ListWebElement> and the findElements() method are
the only components of the Selenium statement. The Addons Library for
TestProject is seen in the screenshot and code excerpt below.
An Addon is a group of programmed
Automation Actions that we can utilise to enhance and expand built-in
functionality. The snippet of code demonstrates how our Test Script may combine
various relative locators to locate all platforms (Android, iOS, and Web).
Open a New Window or Tab
With Selenium 4, we may simultaneously
launch a new window and a new tab within the same session. We can work in the
window or tab after it has been opened without installing a new driver.
Automation engineers value this feature and have requested it. The attention is
automatically switched to the newly created window or tab by the newWindow()
method.
Take screenshots of the full page or WebElement
It was possible to capture a
screenshot of a page using Selenium 3. It did not, however, have a method for
taking a screenshot of a whole page or a specific WebElement. The application's
complete page, including the footer, is captured using the full page screenshot
capability. It occurs whether we can view the entire page or not.
DevTools Protocol for Chrome (CDP)
A new API feature created specifically
for debuggers is called the CDP. Chrome DevTools Protocol or Chrome Debugging
Protocol is referred to by the acronym CDP. The debugging protocol for
Microsoft Edge and Google Chrome is open to us. Both browsers have a Developer
Tools feature and are based on the Chromium platform. However, we also have
Console, Sources, Network, Performance, Memory Application, and Security.
Elements is the most common automation tab. If we right-click a page and select
Inspect, the identical window appears.
ChromiumDriver is a class that has
numerous Selenium 4 methods. But there are two ways to manage Developer Tools
in Chrome and Edge. ExecuteCdpCommand() and getDevTools are those two methods
(). By providing an argument for that command, the executeCdpCommand function
enables us to execute a Chrome DevTool Protocol command directly. DevTools are
returned by the method getDevTools. Here is a summary of the tasks we can
complete with CDP:
Console Logs to View
Ignore a Certificate Error with Mock
Geolocation, Slow Down Our Internet, And Take The Network Offline
Video of Selenium 4
Conclusion
Automation is bound to rule production
activities in the future. It is held to propel efficiency as well as guarantee
ROI. Given so, Selenium Automated Testing
is bound to remain the tool of choice. It may have its own disadvantages;
however, its benefits overshadow other tools, predominantly in three specific
areas: cost, flexibility and parallel testing.
Comments
Post a Comment