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.
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
wdi5test generator for
easy-ui5and 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
wdi5environment for running tests
- integration with Atlassian Jira 😱
- establish a "Playground" for trying out
wdi5tests 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
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
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).
But don't hesitate:
wdi5 (or more precisely
wdio-ui5-service) is ready to be used today.
- 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/js-soft/wdi5/tree/develop/wdio-ui5-service/test and https://github.com/js-soft/wdi5/tree/develop/test/ui5-app/webapp/test/e2e.
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!
/vdiai5/to prevent tongue twisting, ja 🙂
- follow the
wdi5twitter account for all news, announcements and thingies related to the framework
- hop over to the
#wdi5channel on the OpenUI5 Slack space to discuss all things
wdi5– singup link: https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com/