be1cefc4b4
* Add eslint playwright plugin configuration * replace networkidle with commit * address Unnecessary await expression. This method does not return a Promise error * address 'Unexpected usage of not.toBeVisible(). Use toBeHidden() instead' error * address 'Unexpected use of the .skip() annotation.' error * address 'toHaveCount' must be awaited or returned' error * address ''page' is defined but never used ' * address ''toBeVisible' must be awaited or returned' * address 'Unexpected use of element handles' * address 'Unnecessary await expression. This method does not return a Promise' * address 'Test has no assertions' * address 'Unexpected use of page.waitForTimeout()' * address 'Avoid having conditionals in tests' |
||
---|---|---|
.. | ||
bin | ||
playwright-utils | ||
test-data/data | ||
tests | ||
types | ||
utils | ||
.eslintrc.js | ||
README.md | ||
block-theme.setup.ts | ||
classic-theme.setup.ts | ||
global-setup.ts | ||
global-teardown.ts | ||
playwright.config.ts | ||
tsconfig.json |
README.md
WooCommerce Blocks Playwright End to End Tests
This is the documentation for the new E2E testing setup based on Playwright and wp-env. Over time, these playwright E2E tests should replace the current Puppeteer E2E tests.
Table of contents
Pre-requisites
- Node.js (Installation instructions)
- NVM (Installation instructions)
- Docker and Docker Compose (Installation instructions)
Note, that if you are on Mac and you install docker through other methods such as homebrew, for example, your steps to set it up might be different. The commands listed in steps below may also vary.
If you are using Windows, we recommend using Windows Subsystem for Linux (WSL) for running E2E tests. Follow the WSL Setup Instructions first before proceeding with the steps below.
Introduction
End-to-end tests are powered by Playwright. The test site is spun up using wp-env
(recommended), but we will continue to support e2e-environment
in the meantime.
Running tests for the first time
nvm use
npm install
npm run env:start
npm run test:e2e-pw
To run the test again, re-create the environment to start with a fresh state
npm run env:restart
npm run test:e2e-pw
Other ways of running tests
Headless mode:
npm run test:e2e-pw
Interactive UI mode:
npm run test:e2e-pw -- --ui
Headed mode:
npm run test:e2e-pw -- --headed
Debug mode:
npm run test:e2e-pw -- --debug
Running a single test:
npm run test:e2e-pw ./tests/e2e-pw/tests/example.spec.ts
To see all options, run the following command:
npx playwright test --help