create-wdi5
An npm initializer that adds wdi5 end-to-end testing to an existing UI5 application, installing WebdriverIO's peer dependencies, writing a wdio.conf file and setting an npm script.
Adding wdi5wdio-ui5-serviceEnd-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.community org, ui5 to a UI5 app by hand means installing WebdriverIO's peer dependencies, writing a wdio.conf file and wiring a script to run it. Run in the app's directory as npm init wdi5@latest, or with --ts for a TypeScript project, it installs wdi5 and those peer dependencies, puts the config file under webapp/test/e2e/ with a tsconfig.json beside it on the TypeScript path, and sets an npm script named wdi5. What it writes is a minimal install: locally, with Chrome as the target browser, mocha as the test syntax and spec as the output format, and the config already prepared for --headless and --debug runs. It assumes the app is served by the UI5 tooling on port 8080 and that the tests sit under webapp/test/e2e/; --configPath, --specs and --baseUrl move the config, the specs and the application URL when the command runs.
Facts
Where it sits
Who is behind it
In the atlas: maintains 69@ui5-communityVolker BuzekVolker BuzekMaintains this
In the atlas: maintains 7, contributes to 53, wrote 2@vobumaintainersFelixContributes to this
In the atlas: contributes to 1@Archer57Julian KönigContributes to this
In the atlas: contributes to 8@jkoenig134Marian ZeisContributes to this
In the atlas: maintains 35, contributes to 86, wrote 25@marianfooSimon CoenContributes to this
In the atlas: contributes to 4@Siolto4 contributors
What it declares
Every artifact
- Type
- Generator
- Origin
- By a community org
As a generator
- Generates
- Configuration
- Run with
- npm init or npx
- Distributed through
- npm
Connections
Starting a project, and adding pieces to one that runs
End-to-end testing for UI5 on WebdriverIO with UI5 control selectors
Yeoman generator scaffolding wdi5 test configuration into a UI5 app
Download
Install
npm add create-wdi5Derived from the package name. No recipe recorded; the README has the configuration.
README
quoted from ui5-community/create-wdi5 under Apache-2.0, read
wdi5 quickstart
Fast lane for adding wdi5 for e2e tests to your UI5 application
Quickstart
$> cd your/ui5/app
# for JavaScript projects:
$> npm init wdi5@latest
# for TypeScript projects:
$> npm init wdi5@latest -- --ts
Or, if you are working with yarn
$> yarn create wdi5@latest
$> yarn create wdi5@latest -- --ts
Or, if you are working with pnpm
$> pnpm create wdi5@latest
$> pnpm create wdi5@latest -- --ts
Note that this quickstart command is suited as a complimentary tool to yo easy-ui5!
How it works
The initializer will…
| for JavaScript | for TypeScript |
|---|---|
install wdi5 and all required WebdriverIO peer dependencies | (← same) |
assume that you're running the UI5 app with the ui5-tooling on port 8080 | (← same) |
- add a config file (wdio.conf.js) info $ui5-app/webapp/test/e2e/- assume that your tests are in $ui5-app/webapp/test/e2e/**/* and follow the name pattern *.test.js | - add the wdi5 config file (wdio.conf.ts) and a TypeScript config file (tsconfig.json ) to $ui5-app/webapp/test/e2e/- assume that your tests are in $ui5-app/webapp/test/e2e/**/* and follow the name pattern *.test.ts |
set an npm script named "wdi5" to run wdi5 so you can immediately do npm run wdi5 | (← same) |
Note that this is a minimal install for running wdi5
- locally
- with
Chromeas target browser - plain JavaScript as notation
mochaas the syntax for testsspecas the output format of the test results
The wdi5 config is already prepared for
--headless: runs Chrome in headless mode (npm run wdi5 -- --headless)--debug: extends test timeouts and auto-opens Chrome's developer tools pane (npm run wdi5 -- --debug)
Supported Options
You can pass the following optional flags to modify the quickstart of wdi5:
--configPath <path to config>custom path where your config file (wdio.conf.(j|t)s) should be created--specs <path to specs>custom path where your specs files are located--baseUrl <application url>custom url to your application
History
Features 1
Others providing
Compare all 23 on the Generators page →- abap2UI5 Layout Editorabap2UI5 Layout EditorA browser editor that lays out a UI5 view by drag and drop and writes it out as one abap2UI5 app class, pulled into the system with abapGit.community org, abapDrag-and-drop UI5 view editor that writes an abap2UI5 app class
- generator-ui5-react-nestgenerator-ui5-react-nestA Yeoman generator that scaffolds a pnpm monorepo with a UI5 app and a Vite React app, which the UI5 app embeds through a custom control, UI5Nest, rather than an iframe.independent, ui5Yeoman generator for a UI5 app that loads a React app
- SAP Build CodeSAP Build CodeSAP's development environment on BTP for SAPUI5, SAP Fiori, mobile and CAP applications that run on the SAP BTP, Cloud Foundry Runtime, in which Joule generates models, services, logic, tests and apps.sap official, btpDevelopment environment on BTP for UI5, Fiori, mobile and CAP
- ui5-control-generatorui5-control-generatorA command-line generator that writes UI5 custom controls, in JavaScript or TypeScript, from the html files in a project, with control logic and renderer split into two files by default.independent, ui5Command line generator of UI5 custom controls from html
- Joule in SAP Build CodeJoule in SAP Build CodeJoule's generative AI inside SAP Build Code, pitched as "optimized for Java and JavaScript application development": opened from SAP Business Application Studio's activity bar, slash commands generate a CAP data model, services, sample data, business logic and a Fiori elements UI.sap official, capJoule's generative AI inside SAP Build Code
- @sap-ux/cap-config-writer@sap-ux/cap-config-writerSAP's writer module for changing a CAP project's configuration from code, so a tool can add a UI5 app to a project that already exists, returning a mem-fs editor whose commit writes the changes.sap official, capWriter module for changing a CAP project's configuration from code
- @sap-ux/create@sap-ux/createSAP Fiori tools as a command: npx @sap-ux/create changes the features of a Fiori project that already exists, through its add, generate, convert, remove, update and change subcommands.sap official, ui5Command line for changing features of an existing Fiori project
- @sap-ux/fe-fpm-writer@sap-ux/fe-fpm-writerA library that writes flexible programming model elements, such as a custom page wired into the app's routing, into a Fiori elements application for OData v4 from Node code.sap official, ui5Writer of flexible programming model elements into Fiori elements apps
- @sap-ux/odata-service-writer@sap-ux/odata-service-writerA library that adds an OData service to a UI5 project that already exists, writing the file updates from a config object naming the service url, its OData version and a destination.sap official, ui5Writer that adds an OData service to an existing UI5 project
- @sap-ux/ui5-application-writer@sap-ux/ui5-application-writerA library that writes the base structure of a UI5 project from Node code, out of an app id, title and description, returning a mem-fs editor so a generator needs no template engine of its own.sap official, ui5Writer of the base structure of a UI5 project from Node code
- create-easy-ui5create-easy-ui5An npm-init and npx wrapper that runs the Easy-UI5 Yeoman generator without a global Yeoman install, handing control to generator-easy-ui5 and forwarding any arguments.community org, ui5npm-init wrapper for the Easy-UI5 Yeoman generator
- generator-easy-ui5generator-easy-ui5A Yeoman meta-generator that scaffolds UI5 projects, prompting for a target platform, and loads further sub-generators from the UI5 Community for TypeScript apps, launchpad plugins and libraries.community org, ui5Yeoman meta-generator for scaffolding UI5 projects
- generator-ui5-addgenerator-ui5-addA Yeoman generator that creates UI5 tooling-extension projects and manages the tooling extensions of an existing project, from the bestOfUI5 catalogue.community org, ui5Yeoman generator for UI5 tooling-extension projects
- generator-ui5-appgenerator-ui5-appA Yeoman generator, built on the official UI5 tooling, that scaffolds a new UI5 application in one pass, run as a plug-in for Easy-UI5 or standalone, ready for npm start.community org, ui5Easy-UI5 generator scaffolding a new UI5 application
- generator-ui5-controlgenerator-ui5-controlA Yeoman generator that scaffolds a UI5 custom control structured for npm distribution, with a manual test app with live reload and a Jest test suite already wired in.community org, ui5Yeoman generator for UI5 custom controls distributed via npm
- generator-ui5-library-webcgenerator-ui5-library-webcA Yeoman generator that scaffolds a UI5 library wrapping UI5 Web Components on the official UI5 tooling, run through Easy-UI5 or standalone, and served afterwards with npm start.community org, ui5Yeoman generator for UI5 libraries wrapping UI5 Web Components
- generator-ui5-librarygenerator-ui5-libraryA Yeoman generator, built on the official UI5 tooling, that scaffolds a new UI5 library as a plug-in for Easy-UI5.community org, ui5Easy-UI5 generator scaffolding a new UI5 library
- generator-ui5-projectgenerator-ui5-projectA Yeoman generator for a UI5 project holding several applications in npm workspaces, with eight subgenerators for recurring tasks and a choice of six deployment targets.community org, ui5Yeoman generator for UI5 projects holding several applications
- generator-ui5-ts-app-fclgenerator-ui5-ts-app-fclA generator that scaffolds a UI5 TypeScript application built around the FlexibleColumnLayout and bound to an OData service, asking for the endpoint, entity set, key and fields to show.community org, ui5Generator for a TypeScript UI5 FlexibleColumnLayout app on OData
- generator-ui5-ts-appgenerator-ui5-ts-appA Yeoman generator, built on the official UI5 CLI, that scaffolds a new UI5 application in TypeScript with its tsconfig and UI5 CLI configuration, as a plug-in for Easy-UI5.community org, ui5Easy-UI5 generator scaffolding a TypeScript UI5 application
- generator-ui5-ts-librarygenerator-ui5-ts-libraryA Yeoman generator, built on the official UI5 tooling, that scaffolds a new UI5 library in TypeScript as a plug-in for Easy-UI5.community org, ui5Easy-UI5 generator scaffolding a TypeScript UI5 library
- generator-ui5-wdi5generator-ui5-wdi5A Yeoman generator that scaffolds wdi5 end-to-end test configuration and sample tests into a UI5 app, wrapping npm init wdi5 in prompts and run through Easy-UI5.community org, ui5Yeoman generator scaffolding wdi5 test configuration into a UI5 app
Details
Sources
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
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:ui5-community-create-wdi5- JSON
- /artifacts/ui5-community-create-wdi5.json
- MCP
- Connecting an agent