PackagePackagetypeA library you install and call yourself.See every one →What this type is →by a community orgby a community orgoriginPublished by a community organisation, so it outlives any one maintainer.See every one →

wdio-ui5-service

End-to-end testing for UI5 as a WebdriverIO service that drives a real browser through UI5's own test API, so a test addresses controls with OPA5-compatible selectors rather than DOM nodes.

A WebdriverIO service that drives a real browser against a UI5 app somebody else serves, using the framework's own test API so a test addresses controls rather than DOM nodes, with selectors compatible with OPA5's. Because the browser is real and the app is served, a run can start at the baseUrl the configuration names and follow the redirect to an identity provider: the documentation lists SAP Cloud IdP, SAP Cloud Identity Services, Office 365, a custom provider and basic authentication, all set up by configuration rather than in the test code, and states that multi-factor authentication is not supported. The npm package is called wdio-ui5-service because it is a WebdriverIO service first, which is also why tests start through WebdriverIO's own command line.

Facts

Latestv3.0.12ReleasedLast pushLicenceApache-2.0

Where it sits

Lives in
Provides
UI5 testingUI5UI5 testingcapabilityProving a UI still works — unit tests over controllers and formatters, integration tests that drive real controls, and end-to-end runs against a served app.

Who is behind it

UI5 CommunityUI5 CommunityOrganisationMaintains this
In the atlas: maintains 69
@ui5-community
Volker BuzekVolker BuzekPersonMaintains this
In the atlas: maintains 7, contributes to 53, wrote 2
@vobu
maintainersArnaud BuchholzPersonContributes to this
In the atlas: contributes to 3
@arnaudbuchholz-sap
Arnaud BuchholzPersonContributes to this
In the atlas: maintains 1, contributes to 2
@ArnaudBuchholz
BeastiWPersonContributes to this
In the atlas: contributes to 1
@BeastiW
Chetan MahajanPersonContributes to this
In the atlas: contributes to 1
@chetan2332
ChristophMarotzkePersonContributes to this
In the atlas: contributes to 1
@ChristophMarotzke
Daniel LangPersonContributes to this
In the atlas: contributes to 1
@danielang
Dominik FeiningerPersonContributes to this
In the atlas: contributes to 11
@dominikfeininger
edvardas-kireilisPersonContributes to this
In the atlas: contributes to 1
@edvardas-kireilis
georgbischoffPersonContributes to this
In the atlas: contributes to 3
@georgbischoff
Gregor WolfPersonContributes to this
In the atlas: maintains 17, contributes to 59, wrote 2
@gregorwolf
32 contributors

Before choosing this

Conditions

PracticalFunctional boundary

Where the login cannot be completed by configuration. Its authentication page states that multi-factor authentication is not supported, because a media break between browser and phone cannot be managed out of the box.

What it declares

Every artifact

Type
Package
Origin
By a community org
Runtime
Node.js

As a package

Where it runs
does not say
Distributed through
does not say

For UI5 testing

Test level
End-to-end tests

Tasks this contributes to1Beta

Test a UI5 app that is already deployed, from a pipelineA test reaches the application a user would open — deployed, served by somebody else, possibly behind a login — and the run happens in a pipeline rather than on a developer's machine.Freestyle, Fiori elementsShown workingend-to-end driver
What it does

Opens the baseUrl its configuration names in a real browser, waits for the redirect to the authentication provider and supplies the credentials, with the provider chosen by configuration rather than written into the tests. Tests start through WebdriverIO's own command line, so a pipeline step is what runs them.

Conditions

The login is one the authentication page covers — SAP Cloud IdP, SAP Cloud Identity Services, Office 365, a custom provider or basic authentication — and does not require a second factor, which that page states is not supported

Remaining work

Put the credentials where the pipeline can hand them to the configuration, and keep the test code itself free of the login: the documentation states no changes in the test code are needed for using authentication.

All options on the UI5 testing page →

Connections2

Install

npm add wdio-ui5-service

Derived from the package name. No recipe recorded; the README has the configuration.

Learn more1

Readings
  1. Create Automated System Tests for SAP Cloud Application Programming Model ProjectsSAP, SAP Developer Center

README

quoted from ui5-community/wdi5 under Apache-2.0, read
ui5-community/wdi5/README.mdOn GitHub

wdi5 wdi5 Logo

wdi5 (/vdif5/) is a Webdriver.IO service (think: extension), utilizing UI5’s test API. It is used for end-to-end tests of a UI5 web-application.

📓 Documentation is at https://ui5-community.github.io/wdi5/
🚴 Roadmap: https://github.com/orgs/ui5-community/projects/2/views/1
🙋 Please use GitHub's Issues for community support and questions
✋ Get commercial support from wdi5 experts
💬 The #wdi5 slack channel is a place for friendly curiosity-driven talk about wdi5 (sign-up link)
📣 watch the Discussions, the @_wdi5_ Bluesky account and the @_wdi5_ FOSStodon account for announcements

Steering Committee

wdi5 is governed by a fine group of people deciding on strategy and next steps for the tool (in alphabetical order of last name):

Former Committee Members

Thank you for having accompanied our journey! 🏅

  • Arnaud Buchholz @ArnaudBuchholz - July 2022..August2024
  • Peder Hveem Alsvik @ph-alsvik - July 2022..October 2022
  • Nicholas O'Malley @aiopa - October 2022..October 2023

Credits

🙌 for providing us with infrastructure goes to:

BrowserStack Logo
Testing Powered By SauceLabs

(ping back to Mastodon)

License

This work is dual-licensed under Apache 2.0 and the Derived Beer-ware 🍺 License. The official license will be Apache 2.0 but finally you can choose between one of them if you use this work.

Thus, when you like this stuff, buy any (or all 😆) of the contributors a beer when you see them.

Apache-2.0, read

History

Latest

v3.0.12

Fixes 1

Notes
Bug Fixes
  • main entry points to .cjs (9a423b4)
  1. v3.0.11

    Fixes 1

    Notes
    Bug Fixes
  2. v3.0.10

    Fixes 1

    Notes
    Bug Fixes
    • change to more generic types (03ea5bf)
  3. v3.0.9

  4. v3.0.8

    Fixes 1

    Notes
    Bug Fixes
    • type: aggregationContainsPropertyEqual now allows array (#730) (fce0731)
  5. v3.0.7

  6. v3.0.6

  7. v3.0.5

    Fixes 1

    Notes
    Bug Fixes
  8. v3.0.4

    Fixes 1

    Notes
    Bug Fixes
  9. v3.0.3

    Fixes 1

    Notes
    Bug Fixes
    • switchFrame: restore compatibility for workzone tests (#706) (10ac956)
  10. v3.0.2

    Fixes 1

    Notes
    Bug Fixes
  11. v3.0.1

    Fixes 1

    Notes
    Bug Fixes
    • improve dx + fix hanging promise in browser (#700) (070c0f0)
  12. v3.0.0

    Features 2, Fixes 2

    Notes
    Features
    • support ui5 legacy free aka almost v2 (341dbb1)
    • support UI5 legacy free, slim down deps, clean up (85d2a25)
    Bug Fixes
    • add the trick17 again for basic authentication (#685) (223b317)
    • docker standalone (4264944)
  13. v3.0.0-rc.2

    Fixes 1

    Notes
    Bug Fixes
  14. v3.0.0-rc.1

    Features 1, Fixes 16

    Notes
    Features
    Bug Fixes
  15. v3.0.0-rc.0

    Fixes 9

    Notes
    Bug Fixes
    • do not pass functions to the browser scope (821f94f)
    • eslint v9 + linting errors (14c55ff)
    • force webdriver protocol (dfe2c19)
    • param sequence (18db6e0)
    • scoping of .catch (466a367)
    • scoping of .catch in the client side scripts (923ad2e)
    • test for date value (891dc75)
    • type declaration (d39baac)
    • use correct cap-bookshop commit (f0720ea)
  16. v2.0.10

    Fixes 1

    Notes
    Bug Fixes
  17. v2.0.9

    Fixes 1

    Notes
    Bug Fixes
  18. v2.0.8

    Fixes 1

    Notes
    Bug Fixes
    • pass interaction matcher in press function (0080ce1)
  19. v2.0.7

  20. v2.0.6

  21. v2.0.5

    Fixes 1

    Notes
    Bug Fixes
    • TypeScript Module Configuration (especially for ESM) (#574) (56552d5), closes #573
  22. v2.0.4

    Fixes 1

    Notes
    Bug Fixes
    • remove empty array elements to reduce to reduce scope transfer size (#570) (f2843c1)
  23. v2.0.3

    Fixes 1

    Notes
    Bug Fixes
    • timeout from config during late inject (#552) (2dc1e08)
  24. v2.0.2

    Fixes 1

    Notes
    Bug Fixes
  25. v2.0.1

  26. v2.0.0

  27. v2.0.0-rc.0

    Features 2, Fixes 1

    Notes
    Features
    Bug Fixes
    • remove it.only from stale element tests (7bb89f1)
  28. v2.0.0-beta.1

    Features 1

    Notes
    Features
    • sap build workzone std ed enablement, ias authentication capability (#520) (8f6c217), closes #378
  29. v2.0.0-beta.0

    Features 1

    Notes
    Features
  30. v2.0.0-alpha.1

  31. v2.0.0-alpha.0

    Features 1

    Notes
    Features
  32. v1.5.4

  33. v1.5.3

    Fixes 1

    Notes
    Bug Fixes
    • display different error message depending on the type (#506) (0f8e356)
  34. v1.5.2

    Fixes 1

    Notes
    Bug Fixes
    • invalidate control map when we injectUi5 (#513) (b6b7210)
  35. v1.5.1

    Fixes 1

    Notes
    Bug Fixes
  36. v1.5.0

    Features 1

    Notes
    Features
    • outsource auth tests, drop node 14, make node 16 dev default, align script timeout (#465) (b2cb381)
  37. v1.4.0

    Features 1

    Notes
    Features
    • add exec to ui5 controls to boost performance for data retrieval from many ui5 child controls (#456) (93116d4)
  38. v1.3.3

    Fixes 1

    Notes
    Bug Fixes
    • queue on the node event loop to mitigate "waitAsync is already running bug" (#455) (bed997e), closes #452
  39. v1.3.2

    Fixes 1

    Notes
    Bug Fixes
    • fe-lib: transform milliseconds to seconds correctly for TestLibrary (#443) (a7f840f)
  40. v1.3.1

  41. v1.3.0

    Features 1

    Notes
    Features
  42. v1.2.1

    Fixes 1

    Notes
    Bug Fixes
    • make saveObject() work in unsecure contexts (#419) (c293f0f), closes #416
  43. v1.2.0

    Features 1

    Notes
    Features
    • allow for async client-side controller functions (#423) (bde49d1), closes #417
  44. v1.1.1

    Fixes 1

    Notes
    Bug Fixes
  45. v1.1.0

    Features 1

    Notes
    Features
    • make FE Test Library recognize Timeout Setting (#411) (9d84414)
  46. v1.0.5

    Fixes 1

    Notes
    Bug Fixes
  47. v1.0.4

    Fixes 1

    Notes
    Bug Fixes
  48. v1.0.3

    Fixes 1

    Notes
    Bug Fixes
    • injectTools: narrow down the UMD loader to window (#387) (4f7994b), closes #386
  49. v1.0.2

    Fixes 1

    Notes
    Bug Fixes
  50. v1.0.1

    Fixes 1

    Notes
    Bug Fixes
    • wait for the injection of wdi5 till the redirection finished (#379) (2cc492e)
  51. v1.0.0

  52. v1.0.0-pre.5

    Fixes 1

    Notes
    Bug Fixes
  53. v1.0.0-pre.4

  54. v1.0.0-pre.3

    Features 1

    Notes
    Features
    • add watch support for authentication (#372) (8eb564d)
  55. v1.0.0-pre.2

    Fixes 1

    Notes
    Bug Fixes
  56. v1.0.0-pre.1

    Features 1

    Notes
    Features
  57. v1.0.0-pre.0

    Features 1

    Notes
    Features
  58. v0.9.16

    Features 1

    Notes
    Features
  59. v0.9.15

    Fixes 1

    Notes
    Bug Fixes
  60. v0.9.14

  61. v0.9.13

    Features 1

    Notes
    Features
    • turn off logging per selector
  62. v0.9.12

    Features 3

    Notes
    Features
    • support press OPA5 interaction for wdi5 press() API
    • enable enterText() in fluent async api
    • more precise error messages (with causes)
  63. v0.9.11

    Fixes

    Notes
    Bug Fixes
  64. v0.9.10

    Features 1

    Notes
    Features
    • improve error messages when control is not found (#309) (f7b3182), closes #304
  65. v0.9.9

  66. v0.9.8

    Features 1

    Notes
    Features
  67. v0.9.7

    Fixes 1

    Notes
    Bug Fixes
  68. v0.9.6

  69. v0.9.5

    Features 1

    Notes
    Features
  70. v0.9.4

    Fixes 1

    Notes
    Bug Fixes
  71. v0.9.3

    Fixes 1

    Notes
    Bug Fixes
  72. v0.9.2

    Features 1

    Notes
    Features
    • improved sync with ui5 core lifecycle (#278) (53e1a7e)
  73. v0.9.1

    Features 1

    Notes
    Features
  74. v0.9.0

  75. v0.9.0-rc4.3

    Fixes 1

    Notes
    Bug Fixes
    • #241: rm warning if control was not instatiated by $$ (#242) (0b6a111), closes #241
  76. v0.9.0-rc4.2

    Features 4

    Notes
    Features
    • add to "best of UI5" (#231) (b17685c)
    • proxy object-type return value (#234) (1959411)
    • wdi5-control: .getControlInfo() for info on capabilities (#214) (965d8bb)
    • wdi5-control: .getControlInfo() for info on capabilities (#214) (073d917)
  77. v0.9.0-rc4.1

    Features 1, Fixes 1

    Notes
    Features
    Bug Fixes
  78. v0.9.0-rc4

    Features 4, Fixes 1

    Notes
    Features
    • added selenium-service configuration sample (#220) (99dd250)
    • get all controls of a specific type (#212) (f4e8082)
    • performance: using custom waitForUI5 function to overcome sap.ui.test.RecordReplay promiseWaiter issue (#217) (53fd065), closes #196
    • wdio bridge via $() (#179) (acf026b)
    Bug Fixes
  79. v0.9.0-rc3

    Features 1, Fixes 2

    Notes
    Features
    Bug Fixes
  80. v0.9.0-rc2

  81. v0.9.0-rc1

    Features 4, Fixes 5

    Notes
    Features
    • devx: auto open dev tools when DEBUG is set (#168) (048767b)
    • enhanced logger and tests (#189) (959f159)
    • logger: custom tags in logger (17eef1a)
    • matcher: i18n, ancestor, descendant, sibling, labelFor (1fd328c), closes #129 #121
    Bug Fixes
  82. v0.9.0-alpha.1

    Features 1

    Notes
    Features
  83. v0.9.0-alpha.0

    Features 27, Fixes 18

    Notes
    Features
    Bug Fixes
    • add missing wait for ui5 timeout option (0e59dbe)
    • api visibility (eba53bd)
    • client side getAggregation (6c9e98b)
    • custom press api (8cf76b6)
    • disable control's fireEvent for wdi5's api (ba367c6)
    • export module (9c57635)
    • make usable in fluent async api (6300a1b)
    • md (b02c47f)
    • module export (673830c)
    • package.json: main entry point (04ce093)
    • pass over generated control id (84fd727)
    • reenable button for nav sequence (d66a982)
    • references (54ecae7)
    • safeguard cache control store (0949fa0)
    • ts: compile errors for mocha + jquery (ae252eb)
    • using logger singleton (22b70a0)
    • wdi5 init sequence (3a9eb2b)
    • work getWebElement with fluent async api (07fd194)
11,110downloads per week, npm
Weekly downloads for wdio-ui5-service26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 11110.20 Apr – 26 Apr: 20,11627 Apr – 3 May: 16,9894 May – 10 May: 18,85011 May – 17 May: 19,48018 May – 24 May: 18,85925 May – 31 May: 18,9411 Jun – 7 Jun: 15,8988 Jun – 14 Jun: 19,88115 Jun – 21 Jun: 17,74222 Jun – 28 Jun: 16,62929 Jun – 5 Jul: 16,1746 Jul – 12 Jul: 19,76113 Jul – 19 Jul: 19,53920 Jul – 26 Jul: 19,92327 Jul – 2 Aug: 17,7593 Aug – 9 Aug: 20,29810 Aug – 16 Aug: 16,10517 Aug – 23 Aug: 18,51524 Aug – 30 Aug: 21,31631 Aug – 6 Sept: 15,6767 Sept – 13 Sept: 12,03614 Sept – 20 Sept: 20,59121 Sept – 27 Sept: 21,84728 Sept – 4 Oct: 23,6665 Oct – 11 Oct: 20,53012 Oct – 18 Oct: 11,110
UI5 testing
  1. ui5-test-runnerCommand line running UI5 QUnit and OPA tests in parallel
  2. ui5-middleware-odata-recorderUI5 middleware recording OData traffic as mock server datasets
  3. jest-environment-ui5Jest environment running UI5 unit tests in Node.js
  4. openui5-smart-mockserverUI5 MockServer extension generating mock data with Faker.js
  5. vitest-environment-ui5Vitest environment running UI5 unit tests in Node.js
  6. wdio-qunit-serviceWebdriverIO service running QUnit test pages
  7. @openui5/sap.ui.coreFramework core: module loader, MVC runtime, binding, routing, theming
  8. karma-ui5-transpileKarma preprocessor transpiling UI5 sources via ui5-tooling-transpile
  9. ui5-journey-recorderChrome extension generating OPA5 or wdi5 tests from recorded journeys
  10. wdi5-cucumberwdi5 plugin for Cucumber-style BDD tests on Fiori Elements apps
  11. wdi5-fe-selectorswdi5 selectors for locating controls in Fiori Elements apps
  12. @ui5/middleware-code-coverageUI5 CLI middleware for Istanbul code coverage
  13. vscode-ui5-odata-mock-generatorVS Code extension generating OData mock data from service metadata

Details

Sources4
bestofui5discovered herechecked
npm registry, wdio-ui5-serviceversion, releases, installschecked
github.com/git+https://github.com/ui5-community/wdi5.gittree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
runtimesnode
latestv3.0.12
first release
releases and cadence108, ~41d median
discovered viabestofui5
first seen in the atlas
ecosystem and domainui5, developer-experience
Flavors2
Freestyle
“It is used for end-to-end tests of a UI5 web-application.” — ui5-community/wdi5 — READMEchecked
Fiori elements
“It is used for end-to-end tests of a UI5 web-application.” — ui5-community/wdi5 — READMEchecked
Contributors32
History in the atlas5
  1. Three sentences on what it drives, how a run reaches an app behind a login, and why the package is named after WebdriverIO
  2. Where the login cannot be completed by configuration.
  3. four quoted sources and the test_level property
  4. The documentation site SAP's own testing page links to as the wdi5 home page, and where the authentication and running pages read for this assessment are published.
  5. First seen.
For your agent
Ref
artifact:ui5-community-wdi5
JSON
/artifacts/ui5-community-wdi5.json
MCP
Connecting an agent