{"id":19504842,"url":"https://github.com/nice-digital/frontend-testing-base","last_synced_at":"2025-07-01T03:06:21.696Z","repository":{"id":47210923,"uuid":"96515796","full_name":"nice-digital/frontend-testing-base","owner":"nice-digital","description":"A template for writing functional, browser-driven tests in Cucumber using WebDriverIO with support for running in Docker","archived":false,"fork":false,"pushed_at":"2022-10-20T10:58:28.000Z","size":607,"stargazers_count":0,"open_issues_count":9,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-12T16:55:02.281Z","etag":null,"topics":["bdd","cucumber-js","frontend","testing","webdriverio"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nice-digital.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-07T08:13:48.000Z","updated_at":"2021-09-06T16:05:30.000Z","dependencies_parsed_at":"2023-01-20T15:46:04.344Z","dependency_job_id":null,"html_url":"https://github.com/nice-digital/frontend-testing-base","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/nice-digital/frontend-testing-base","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nice-digital%2Ffrontend-testing-base","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nice-digital%2Ffrontend-testing-base/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nice-digital%2Ffrontend-testing-base/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nice-digital%2Ffrontend-testing-base/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nice-digital","download_url":"https://codeload.github.com/nice-digital/frontend-testing-base/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nice-digital%2Ffrontend-testing-base/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262887190,"owners_count":23379768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bdd","cucumber-js","frontend","testing","webdriverio"],"created_at":"2024-11-10T22:27:24.958Z","updated_at":"2025-07-01T03:06:21.665Z","avatar_url":"https://github.com/nice-digital.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Front end testing base\n\n\u003e Start point for browser based testing\n\n- [Front end testing base](#front-end-testing-base)\n  - [What is it?](#what-is-it)\n    - [Stack](#stack)\n  - [Required software](#required-software)\n      - [Cucumber (Gherkin) Full Support](#cucumber-gherkin-full-support)\n  - [Getting started](#getting-started)\n    - [Excluding tests](#excluding-tests)\n    - [Running single features](#running-single-features)\n  - [Docker](#docker)\n\n## What is it?\n\nA starter boilerplate project for writing browser-based functional tests in [WebdriverIO 6](http://webdriver.io/).\n\n### Stack\n\n- [WebdriverIO 6](http://webdriver.io/)\n- [Cucumber.js](https://cucumber.io/) for writing BDD [features](features) in Gherkin syntax\n- [TypeScript](https://www.typescriptlang.org/)\n- [ESLint](https://eslint.org/) and [Prettier](https://prettier.io/) for code style and linting\n- Uses [@nice-digital/wdio-cucumber-steps](https://github.com/nice-digital/wdio-cucumber-steps) shared step definitions\n- [TeamCity reporter](https://github.com/sullenor/wdio-teamcity-reporter) for TeamCity integration\n- [Cucumber (Gherkin) Full Support VSCode](https://marketplace.visualstudio.com/items?itemName=alexkrechik.cucumberautocomplete#overview) extension support\n\n## Required software\n\n- Node \u003e= 12\n- Chrome, Firefox or Edge\n\n#### Cucumber (Gherkin) Full Support\n\nThe [Cucumber (Gherkin) Full Support VSCode extension](https://marketplace.visualstudio.com/items?itemName=alexkrechik.cucumberautocomplete#overview) is great for intellisense for step definitions.\n\nInstall the extension and configure by adding the following to _.vscode/settings.json_:\n\n```diff\n{\n+    \"cucumberautocomplete.steps\": [\n+        \"node_modules/@nice-digital/wdio-cucumber-steps/src/given/definitions.js\",\n+        \"node_modules/@nice-digital/wdio-cucumber-steps/src/when/definitions.js\",\n+        \"node_modules/@nice-digital/wdio-cucumber-steps/src/then/definitions.js\",\n+    ]\n}\n```\n\n## Getting started\n\n- `git clone https://github.com/nice-digital/frontend-testing-base.git`\n- `cd frontend-testing-base`\n- `npm i`\n\nIf you have issues with regard to:\n\n```gyp ERR! configure error\ngyp ERR! stack Error: Can't find Python executable \"python\", you can set the PYTHON env variable.\n```\n\nAfter the install has finished run the tests by running the following command. This starts a selenium server and opens Chrome to run the tests:\n\n```sh\nnpm test\n```\n\n### Excluding tests\n\nExclude tests by using the `@pending` [cucumber tag](https://github.com/cucumber/cucumber/wiki/Tags).\n\n### Running single features\n\nTo run a single feature file, use the following command:\n\n```sh\nnpm test -- --spec ./features/homepage.feature\n```\n\nNote: you can pass in multiple files, separated by a comma.\n\nOr you can use a keyword to filter e.g.:\n\n```sh\nnpm test -- --spec homepage\n```\n\nFinally, if you've grouped your specs into suites you can run and individual suite with:\n\n```sh\nnpm test -- --suite homepage\n```\n\nSee [organizing test suites](http://webdriver.io/guide/testrunner/organizesuite.html) in the WebdriverIO docs for more info.\n\nif you want to run tests against all browsers locally you can do so via this command:\n\n```sh\nnpm run test:allbrowsers\n```\n\nThe baseUrl in wdio.conf.js determines which instance of guidance web that tests will run against, you can change this to suit your needs.\n\n## Docker\n\nRunning tests on Docker is a good option as it means you don't need browsers installed on the host machine, and the Selenium grid is automatically created for you. This is useful on a TeamCity build agent where you can't rely on Chrome and Firefox being installed.\n\nIn bash:\n\n```sh\n./run.sh\n```\n\nOr in CMD on Windows:\n\n```sh\nrun\n```\n\nOr in PowerShell:\n\n```sh\ncmd /c \"run\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnice-digital%2Ffrontend-testing-base","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnice-digital%2Ffrontend-testing-base","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnice-digital%2Ffrontend-testing-base/lists"}