Giter Site home page Giter Site logo

webdriverio / webdriverio-schematics Goto Github PK

View Code? Open in Web Editor NEW
18.0 14.0 7.0 1.75 MB

Add WebdriverIO to an Angular CLI project

Home Page: https://webdriver.io

License: MIT License

TypeScript 90.47% JavaScript 5.07% HTML 4.23% CSS 0.24%
schematics angular webdriverio cli tooling ng hacktoberfest

webdriverio-schematics's Introduction

WebdriverIO Angular Schematic Test

WebdriverIO Schematic Logo

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:

Option Description
--removeProtractor When true, the protractor dependency and e2e directory will be removed from the project
--noWizard When true, it does not run the WebdriverIO setup wizard, requiring the user setup the framework by themselves
--noBuilder When 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
--yes When true, it configures WebdriverIO with default settings.
--yarn When 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!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.