This project aims to give an implementation of Cucumber tests in an Angular application and propose a solution to let everyone be involved in your project testing.
This project is a fork of the Angular Tour of Heroes tutorial application, which already have functional tests. Tests have been duplicated and re-implemented in the Cucumber way.
- Involve the Product Owner (PO) / the business in the writing of the test documentation and having specifications while working in Agile method.
- Compartmentalize the implementation of the tests so that:
- The PO / business analysts are in charge of writing the scenarios (that can be used as acceptance criteria in a User Story). How to write features files
- The Quality Assurance (QA) is in charge of implementing each step of the scenarios given by the PO. How to write steps files
- The development team creates helpers called pages that will help the QA writing their tests. How to write pages files
Protractor Cucumber Framework to launch the test suite.
Cucumber JS is the javascript implementation of Cucumber.
Chai brings better assertion in our tests.
Install all the dependencies using :
yarn installIn order to run the protractors tests you need to get the selenium drivers with :
yarn webdriver-manager updateFirst you need to run the Tour of Heroes application :
yarn run startTo run tour of heroes functional tests:
protractor protractor-toh.conf.jsTo run tour of heroes cucumber functional tests:
All cucumber tests :
yarn cucumberInitialState tests :
yarn initialTestDashboard tests :
yarn dashboardHeroes tests :
yarn heroesHeroDetails tests :
yarn heroDetailsMessages tests :
yarn messagesFor more information about running cucumber tests : https://github.com/cucumber/cucumber-js/blob/master/docs/cli.md
After running the cucumber tests :
yarn reportRun :
yarn sentencesIt outputs :
- a csv file listing all the known steps and how many times each is used.
- a markdown file listing all the known steps sorted out by keyword.