1.2.1 ā€¢ Published 2 years ago

@wdio/schematics v1.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

WebdriverIO Angular Schematic Test

Add WebdriverIO to an Angular CLI project

This schematic will:

  • install WebdriverIO and its dependencies
  • add necessary files for WebdriverIO to work with Angular & Typescript
  • prompt for removal of Protractor files and configuration

Usage šŸš€

Run as one command in an Angular CLI app directory. Note this will add the schematic as a dependency to your project.

ng add @wdio/schematics

With the custom builder installed, you can run WebdriverIO with the following commands:

ng e2e

or

ng run {your-project-name}:wdio-run
# or run wdio directly via
npx wdio run wdio.conf.js

These two commands do the same thing. They will launch the WebdriverIO testrunner.

Parameter Options

When adding WebdriverIO Schematics to your project you can invoke the following options:

OptionDescription
--removeProtractorWhen true, the protractor dependency and e2e directory will be removed from the project
--noWizardWhen true, it does not run the WebdriverIO setup wizard, requiring the user setup the framework by themselves
--noBuilderWhen true, the angular.json file will not be modified to add WebdriverIO commands, requiring the user to run WebdriverIO from the command line independent of the Angular CLI
--yesWhen true, it configures WebdriverIO with default settings.
--yarnWhen true, it uses yarn rather than npm.

For example to add a basic WebdriverIO setup without going through the configuration wizard, just run:

$ ng add @wdio/schematics --yes

Once WebdriverIO is added to your project you can apply the common WDIO CLI options when triggering the test.

Development šŸ› 

Getting started

āš™ Node.js and npm are required for the scripts. Make sure it's installed on your machine.

ā¬‡ Install the dependencies for the schematic and the sandbox application

$ npm i && cd sandbox && npm i && cd ..

šŸ–‡ Link the schematic in the sandbox to run locally

$ npm run link:sandbox

šŸƒ Run the schematic

$ cd sandbox
$ npx ng add @wdio/schematics

E2E testing

Execute the schematic against the sandbox.

npm run test

Reset the sandbox

Running the schematic locally makes file system changes. The sandbox is version controlled so that viewing a diff of the changes is trivial. After the schematic has run locally, reset the sandbox with the following.

npm run clean

Parts of the implementation were based of @briebug/cypress-schematic. Thank you!