What’s new In Selenium 4.0 & the impact on previous versions
1.
what's Selenium 4.0?
Selenium 4 is that the latest version
of selenium; Simon Stewart founding father of selenium has announced Selenium 4
at the Selenium online training Conference in Bangalore which consists of few major updates and
its planned to release after October 2019 (even though official announcement
yet to get). Let’s understand the few things about Selenium 4.
2.
Features of Selenium 4.0?
2.1.
WebDriver became W3C (World Wide Web Consortium) standardization
The change with Selenium 4 is that the
standardizing the WebDriver as per the W3C standards. W3C standards encourage
compatibility across different software implementations of the WebDriver API
and make the Framework far more stable & reduce compatibility issues across
different Web Browsers.
A test in Selenium 3 communicates with
the browser at the top node through the JSON wire protocol. Testing tools like
Appium and iOS Driver which are associated with mobile testing heavily believe
JSON wire protocol. With Selenium 4 adapting W3C Protocol for communication
between the driving force and browser, Tests will now be ready to directly
communicate the browser without using API encoding/decoding. which might help
in mobile testing users
2.2.
Improved Selenium Grid
– The Selenium Grid code has been modified with many changes and needed
improvements; the console of the selenium grid has been restructured. It allows
you to execute test cases in parallel on multiple browsers and systems also as
operating systems.
The UI for Selenium Grid is now with a
more user-friendly UI that might have all the relevant information about the
sessions running, capacity, etc.
And also, Basic support for utilizing Ducker
Containers with new Grid Server is been added.
2.3. Support for browsers – Native
support for Opera and PhantomJS going forward are going to be removed. Whereas
users who want to check Opera can opt Chrome since Opera is predicated on
Chromium and for PhantomJS users can use Chrome or Firefox in headless mode.
And Selenium Server now not includes Lunchtime by default.
2.4. New Selenium 4 IDE (Chrome &
Firefox) – Selenium IDE may be a record and playback tool is now available with
more advanced capabilities and features.
New plug-in: The remake plugin will
allow you to run Selenium on any browser vendor and may declare our own locator
strategy.
New CLI runner: The new CLI runner is
totally supported node.js rather than old HTML-based runner and can have
capabilities like WebDriver Playback and Parallel Execution to support for
parallel execution and supply reports like passed and failed tests. The new
Selenium IDE runner is totally supported WebDriver.
2.5. Detailed Documentation – Selenium
users face difficulties as there's no proper updated documentation of
Selenium, Selenium HQ promises to deliver us update documentation along side
the 4.0 version.
2.6. Better Analysis – Logging and
debugging details are going to be improved to accelerate the resolution of
script issues for testers.
3. Impacts of Selenium 4.0?
In addition to those new capabilities,
arriving of Selenium 4 may require few changes in your existing selenium
2.X/3.X tests, Let’s check out those areas of your tests that need to be
updated with Selenium 4
The getPosition & get Size methods
were replaced by retract method and therefore the setPosition & set Size
methods were replaced by secrete method.
Now you'll configure the situation of
your Safari driver using the “webdriver.safari.driver” system property.
Element screenshot ting is feasible in
Selenium 4.
Fullscreen and minimize methods are
added, in order that the driving force window can now be full screen or
minimized and every one window manipulation commands are now supported.
Added driver.switchTo().parentFrame()
– we will use it to travel from the kid frame to the parent frame directly.
Changes added to Chrome driver –
sendDevToolsCommand() – The
sendDevToolsCommand() method sends an arbitrary dev tools command to the
browser and returns a promise which will be resolved when the command has
finished.
setDownloadPath() – The
setDownloadPath() method sends a DevTools command to vary Chrome’s download
directory and returns a promise which will be resolved when the command has
finished.
Changes to Firefox driver – Added
installation(path) method to put in a replacement addon within the present
session. This function will return an “id” which will be wont to uninstall the
addon using uninstallAddon() method.
Options class now extends Capabilities
class for Chrome, Firefox, IE & Safari.
Changes wrt to Errors like Added
Element Click Intercepted Error, Insecure Certificate Error & Removed
Element Not Visible Error
Removed the firefox. profile class. All
its functionality is now provided directly by firefox. options.
“If you’d wish to know more about the
way to start or upgrade to the lastest version of Selenium training – please write to us
at”
No comments: