Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andreasneuber/playwright-cucumber-js-example
Sample implementation with Playwright and Cucumber, written in JS. With Dockerfile.
https://github.com/andreasneuber/playwright-cucumber-js-example
cucumber playwright
Last synced: 4 days ago
JSON representation
Sample implementation with Playwright and Cucumber, written in JS. With Dockerfile.
- Host: GitHub
- URL: https://github.com/andreasneuber/playwright-cucumber-js-example
- Owner: andreasneuber
- License: mit
- Created: 2023-02-21T17:32:34.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-12-23T19:39:54.000Z (17 days ago)
- Last Synced: 2024-12-23T20:33:06.855Z (17 days ago)
- Topics: cucumber, playwright
- Language: HTML
- Homepage:
- Size: 326 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# playwright-cucumber-js-example
Sample implementation with Playwright and Cucumber## Application under test
The feature files, step definitions and page objects were written for https://github.com/andreasneuber/automatic-test-sample-site.
Readme in this repo has further details how to set it up.## Install
`npm install`## Run
To run all tests with much output on terminal: `npm run test:normal`To run all tests with minimum output on terminal and adding results into a json file for a report: `npm run test:all`
or
`npm run test:e2e acceptance/features/ConvertCelsius.feature`
or
`npm run test:e2e acceptance/features/AdminPrivileges.feature`
or
`npm run test:e2e acceptance/features/Creditcard.feature`
or
`npm run test:e2e acceptance/features/Login.feature`
or
`npm run test:e2e acceptance/features/ProvideYourDetails.feature`
or
`npm run test:e2e acceptance/features/ConcurrentWindows.feature`
## Reporting
- Run tests: `npm run test:all`
- Generate HTML report: `npm run report`
- Open the generated HTML report in browser located here: `reports/cucumber_report.html`## Docker
Build the container: `docker build --no-cache -t playwright-cucumber-js-docker .`Then run it: `docker run --rm --net="host" -it playwright-cucumber-js-docker:latest npm run test:normal`
`--net=host` is needed because the application under test is running on `http://localhost:8000`
## Docker Compose with "Application under Test"
Build container with the sample application https://github.com/andreasneuber/automatic-test-sample-site:
`docker build --no-cache -t sample-site .`Build the container with tests here: `docker build --no-cache -t playwright-cucumber-js-docker .`
Then: `docker compose up`
## FAQ
### What is the test runner in this project?
Its Cucumber (see also file `package.json` > scripts).
Cucumber parses first the feature files, finds the needed step definitions, step definitions use Playwright.
This means the config file for settings like speed, heeadless/headed and more is `cucumber.config.js`### How can I make tests run faster?
In file `cucumber.conf.js` find line with `slowMo` and reduce the value.### How do I make the browser window visible?
In file `cucumber.conf.js` find line with `headless: true` and set value to "false".### How do I update the browsers which come along with Playwright?
`npx playwright install`### What is the test runner?
Cucumber-JS. See the "scripts" responsible for executing tests in `package.json`.
Cucumber parses the feature files, and then in the step definitions underlying Playwright functionality is called.
Good to keep in mind when going through Playwright documentation - for example with https://playwright.dev/docs/videos,
the fitting code is always under tab "Library" not "Test".