Giter VIP home page Giter VIP logo

demo-webdriverio-cucumber's Introduction

E2E tests with WebDriverIO and Cucumber

Commitizen friendly Action Status

This is a demonstration project of integration tests. In this project the user sends a message to the customer service on Automation Practice.
These tests are developed in TypeScript with WebDriverIO V6 and Cucumber

Features

  • TypeScript
  • Expect-webdriverio
  • Page Object Pattern
  • Gherkin lint
  • Scripts to check undefined and unused steps on step/feature files
  • Commit lint and Commitizen
  • ESlint
  • Prettier
  • Husky
  • Github Actions example
  • Allure report (screenshots on failure) and Timeline report

Requirements

Getting Started

Install the dependencies:

npm install

Compile TypeScript:

npm run build

Run e2e tests:

npm run tests:e2e

Spoken Languages

If you want to use another language in features files, you can see this doc about how can you do that.

Reports

Allure

Run this command to generate the allure report in the directory ./test-report/allure-report:

npm run report:generate

You can run this command to start a server on your machine and open the allure report on the browser:

npm run report:open

Time line reporter

You can see Timeline report in ./test-report/timeline/timeline-report.html

Prettier and Eslint

Run to format the code:

npm run code:format

Gherkin lint

We use Gherkin lint to keep the feature files organized.

npm run code:gherkin

Also, we have more two interesting hooks;

  • The first one checks if there is any step on feature files, and this step was not defined on step files:
npm run cucumber:undefined:step
  • The second one checks if there is any step on steps files, and this step was not being used on feature files:
npm run cucumber:unused:step

Commit

We use the best practices for message's commit, using Commit lint and Commitizen we can generate changelogs automatically.

Run npm run commit and commitizen will help you.

demo-webdriverio-cucumber's People

Contributors

dependabot[bot] avatar warleygabriel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

demo-webdriverio-cucumber's Issues

Regarding browser restart between scenarious

how are you executing features file one after the other, for me in my framework, all feature files are executing parallelly.plz share me what needs to be changes in my framework.

Update to WebdriverIO v8

Hey ๐Ÿ‘‹

Thanks for providing this boilerplate project. It seems like it uses WebdriverIO v6 or older which are versions that the WebdriverIO team has deprecated. Please update the dependencies as we otherwise have to remove it from our docs.

Let me know if you have any questions! Thank you!

License?

Hey I love what you've done, would you consider putting up a license though so it's clear what others can or can't do with your project? https://choosealicense.com/

Can I update the pack?

Currently it is in WDIO VD with Cucumber boilerplate .Can i add some more scripts for using different service provided by the V5 version

Using tags expression

Hi Warley,

Are you sure that in wdio.conf.js >> cucumberOpts the parameter "tags" works correctly?

Because in my tests I had to use "tagExpression".

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.