Product Information
the king is dead – long live the king: wdi5 as UIVeri5 successor
Right in the beginning of 2022, UIVeri5 got deprecated. While we can only speculate on the strategic reasons within SAP for that decision, major technical reasons for sunsetting UIVeri5 were its’ deprecated Protractor code base and its’ limited parallel execution functionality.
In alignment with the UI5 team at SAP, wdi5
will jump to the occassion and claim the successor role of UIVeri5 to be the end-to-end testing framework for UI5. wdi5
is a Webdriver.IO-plugin (“service”) that uses the UI5 Test (RecordReplay) API in order to enhance wdio
to operate on UI5 controls. It has already been around a while and in fact is already registered as an “official” Webdriver.IO-service.
wdi5
was born because we at j&s-soft had the need to test both hybrid and UI5 web apps, and there was no tool for that available at the time in 2020. Fast forward, wdi5
today is in a solid state, being used to run end to end test in many UI5 apps already.
roadmap
Now with UIVeri5 gone, here’s how wdi5
will evolve further into your friendly neighborhood UI5 e2e testing framework:
- provide all UIVeri5 element matchers (and all already posted feature requests), including support for Fiori Element IDs
- support the Test Recorder
- provide a
wdi5
test generator foreasy-ui5
and UI5 community’s generators - design a Extension API, mostly for pre-baked authentication options (e.g. auto-magically sign into BTP)
- provide a Docker image with a self-contained
wdi5
environment for running tests - integration with Atlassian Jira 😱
- establish a “Playground” for trying out
wdi5
tests quickly in the browser - enable a doorway to browserstack and sourcelabs
- support Visual Regression Testing
Preceding all of the above will be a rewrite of wdi5
to TypeScript to…
a) closer align with the TypeSript codebase of Webdriver.IO itself.
b) use the opportunity and drop support for testing hybrid UI5 apps. Both kapsel
and SAP Fiori Client are dea…officially in “sunset mode”. So technically, the npm
module wdi5
will go away, while wdio-ui5-service
will remain as the sole package – with the name wdi5
also staying as a shorter alias for wdio-ui5-service
😀.
A continuous documentation effort will accompany all development, not only for the code artifacts, but with the goal to provide testing “recipes” reflecting common uses cases.
The entire development around wdi5
will happen in the open, on its’ Github home, with a public roadmap. And wdi5
already is and will always remain Open Source – under an Apache 2.0 license that allows all UI5 developers hassle-free use (and all wdi5
contributors many drinks, har har).
use now!
But don’t hesitate: wdi5
(or more precisely wdio-ui5-service
) is ready to be used today.
It already
- offers a major part of UI5 control selectors
- provides native UI5 control methods for writing tests
- has a fluent async api
- allows for parallel execution of test suites in multiple browser
Check out the many wdi5
tests that ..well… test wdi5
itself over at https://github.com/ui5-community/wdi5/tree/main/test, https://github.com/ui5-community/wdi5/tree/main/examples/ui5-js-app/webapp/test/e2e (UI5 JavaScript) , https://github.com/ui5-community/wdi5/tree/main/examples/fe-app/webapp/wdi5-test (Fiori Elements app), and https://github.com/ui5-community/wdi5/tree/main/examples/ui5-ts-app/test/e2e (UI5 TypeScript).
With the above listed enhancements, wdi5
will not only provide feature-parity with UIVeri5, but hopefully become a true asset for all UI5 developers. It should bring easy-to-use, yet advanced testing capabilities to the table, while getting out of the way in daily dev life.
Last but not least: pimping wdi5
is a joint effort, between SAP, j&s-soft, and you, the UI5 community. Only when we come together, for coding, testing, documenting and using wdi5
, can it become the asset we all need for testing UI5 apps. j&s-soft will cover the first wave of necessary code enhancements. But this can (and should!) only go so far, as wdi5
needs governance from all users, not only a single company. So while there already have been some excellent contributions from the community, I hope this is only the beginning.
Onwards and upwards!
PS:
wdi5
is pronounced/vdiai5/
to prevent tongue twisting, ja 🙂- follow the
wdi5
twitter account for all news, announcements and thingies related to the framework - hop over to the
#wdi5
channel on the OpenUI5 Slack space to discuss all thingswdi5
– singup link: https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com/
That's great news Volker! Great community commitment and effort!
Cheers
Hendrik
Uiveri5 got deprecated because of the Protractor deprecation. However, there is still hope because the protractor (actually Angular I see) has partnered with HeroDevs to support coming years.
References
https://blog.angular.io/the-state-of-end-to-end-testing-with-angular-d175f751cb9c
https://www.herodevs.com/support/protractor
Thank you
Surendra
Hi Volker,
I´ve tried to start with WDI5.
Just checking your blog, which is well done, but the following URLs are not working anymore.
Check out the manyÂ
wdi5
 tests that ..well… testÂwdi5
 itself over at https://github.com/js-soft/wdi5/tree/develop/wdio-ui5-service/test and https://github.com/js-soft/wdi5/tree/develop/test/ui5-app/webapp/test/e2e.Best regards,
Andreas
thanks for the heads-up - I just updated the links