This project is created to show how we can leverage Cucumber BDD framework in Cypress. Steps involved in configuring your project are following:
- Clone repository
- Run
npm i
to install all dependencies.
npx cypress run --help
- cypress - v10.10
- multiple-cucumber-html-reporter - v1.21.4
- cucumber-json-report-formatter - v0.0.9
- cypress-xpath - v2.0.1
- moment - v2.29.4
- moment-timezone - v0.5.37
- @badeball/cypress-cucumber-preprocessor - v12.1.0
- @bahmutov/cypress-esbuild-preprocessor - v2.1.3
- @shelex/cypress-allure-plugin - v2.29.0
Use ctrl + shift + p
and search for Preferences: Open Settings (JSON)
and open VS Codes settings. Add the following in settings.json
"[feature]":{
"editor.formatOnSave": true,
},
"cucumberautocomplete.strictGherkinCompletion": true,
"cucumberautocomplete.steps": [
"cypress/integration/**/*.js",
"cypress/e2e/**/*.js",
]
- BDD Framework
- Page Object Model
- Cucumber HTML Report
- Allure Report
- Cypress Docs
- Cypress Youtube
- Badeball-cypress-cucumber-preprocessor readme
- Badeball-cypress-cucumber-preprocessor
- Shelex-cypress-allure-plugin
- Boilerplate Code Github
- Mailosaur Cypress
- Mailosaur Test Cases
npx cypress open
or
npx cypress open --config-file config/qa.config.js
npm run allure:clear
npm run cy:run
npm run allure:report
npx cypress run --browser "chrome" --config-file config/qa.config.js
or
npx cypress run --browser "chrome" --spec "cypress/e2e/features/breadList.feature"
or
npx cypress run --browser "chrome" --spec 'cypress/e2e/features/breadList.feature' --config-file config/qa.config.js
and
npm run allure:report
npm run allure:clear
npx cypress run --browser "chrome" --spec 'cypress/e2e/features/breadList.feature' --config-file config/qa.config.js
npm run cy:report
npm run allure:report
Open Windows PowerShell and Enter following commands
1. Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
2. irm get.scoop.sh | iex
3. scoop install allure
@testID("id_of_test_for_testops")
@parentSuite("someParentSuite")
@suite("someSuite")
@subSuite("someSubSuite")
@epic("thisisepic")
@feature("nice")
@story("cool")
@owner("IAMOwner")
@issue("jira","JIRA-1234")
@tms("tms","TC-1234")
@link("other","url")
@someOtherTagsWillBeAddedAlso
@severity("blocker")
@severity("critical")
@severity("minor")
@severity("trivial")
Scenario: Here is scenario
...
✨ Happy Automation 😊 ✨