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 32 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 classfrom ABAP
- 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 appfrom UI5
- 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 CAPfrom BTP/BAIP
- @cap-handler/generator@cap-handler/generatorInteractive generator for CAP event handlers: reads the model through the reflection API, asks which service, target and phase, then writes the handler file and wires the import and registration into the service implementation.independent, capInteractive generator for CAP event handler filesfrom CAP
- com.sap.cds:cds-maven-plugincom.sap.cds:cds-maven-pluginThe Maven plugin that runs CDS build steps in a CAP Java project: compiling the model, generating typed Java accessor interfaces and adding facets to an existing project.sap official, capMaven plugin running CDS build steps in a CAP Java projectfrom CAP
- com.sap.cds:cds-services-archetypecom.sap.cds:cds-services-archetypeA Maven archetype that generates a new CAP Java project: a Spring Boot service with a starter CDS model, wired to the CDS Maven plugin for its build.sap official, capMaven archetype generating a new CAP Java projectfrom CAP
- @khalidmh/capx@khalidmh/capxAn opinionated installer for CAP Node.js projects — asks a short set of questions, runs cds init, adds the chosen facets, then writes the configuration and starter files that make those choices work together.independent, capInteractive project installer for CAP Node.jsfrom 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 htmlfrom UI5
- AbapGeneratorAbapGeneratorAn ABAP transaction, ZABAP_GENERATOR, that generates a Model-View-Controller-style project by copying a template package's objects into a new one under the project's name.independent, abapABAP transaction generating an MVC-style project from a templatefrom ABAP
- 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 Codefrom CAP
- @sap/cds-dk@sap/cds-dkThe command line client and development toolkit for CAP projects, with the commands cds build, cds deploy, cds watch and cds add among them.sap official, capCommand line client and development toolkit for CAPfrom CAP
- @sap/generator-cap-project@sap/generator-cap-projectThe CAP project generator behind SAP Business Application Studio's wizard; its readme says it is meant to be used only there.sap official, capCAP project generator behind SAP Business Application Studio's wizardfrom CAP
- @sap/generator-cds@sap/generator-cdsA CDS project generator, deprecated by its own readme in favour of installing @sap/cds-dk globally.sap official, capCDS project generator, deprecated in favour of @sap/cds-dkfrom CAP
- @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 codefrom CAP
- @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 projectfrom UI5
- @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 appsfrom UI5
- @sap-ux/fiori-generator-shared@sap-ux/fiori-generator-sharedThe shared functions and types the Fiori generators are built from; a dependency of theirs rather than a generator itself.sap official, capShared functions and types of the Fiori generatorsfrom CAP
- @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 projectfrom UI5
- @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 codefrom UI5
- 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 generatorfrom UI5
- 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 projectsfrom UI5
- 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 projectsfrom UI5
- 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 applicationfrom UI5
- 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 npmfrom UI5
- 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 Componentsfrom UI5
- 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 libraryfrom UI5
- 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 applicationsfrom UI5
- 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 ODatafrom UI5
- 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 applicationfrom UI5
- 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 libraryfrom UI5
- 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 appfrom UI5
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