When the block editor is rendered, the editor content is wrapped inside an iframe tag; The tool used to run End to End (E2E) tests, Puppeteer, puts all such frames into separate containers, but the initial test was checking if the parent page had a given selector, which was leading to timeout failures. By actively switching the container to the iframe wrapper,and setting it as the active context, it helps ensure the expected selectors can be found, and its content can be verrified. See #58592. Props joemcgill, SergeyBiryukov, talldanwp, oglekler, Clorith. git-svn-id: https://develop.svn.wordpress.org/trunk@56089 602fd350-edb4-49c9-b593-d223f7449a82 |
||
|---|---|---|
| .. | ||
| config | ||
| specs | ||
| jest.config.js | ||
| README.md | ||
| run-tests.js | ||
E2E Tests
End-To-End (E2E) tests for WordPress.
Running the tests
The e2e tests require a production-like environment to run. By default, they will assume an environment is available at http://localhost:8889, with username=admin and password=password.
If you don't already have an environment ready, you can set one up by following these instructions.
Then you can launch the tests by running:
npm run test:e2e
which will run the test suite using a headless browser.
If your environment has a different url, username or password to the default, you can provide the base URL, username and password like this:
npm run test:e2e -- --wordpress-base-url=http://mycustomurl --wordpress-username=username --wordpress-password=password
DO NOT run these tests in an actual production environment, as they will delete all your content.
For debugging purposes, you might want to follow the test visually. You can do so by running the tests in an interactive mode.
npm run test:e2e -- --puppeteer-interactive
You can also run a single test file separately:
npm run test:e2e tests/e2e/specs/hello.test.js
Documentation
-
Block Editor Handbook end to end testing overview: https://developer.wordpress.org/block-editor/contributors/code/testing-overview/#end-to-end-testing
-
Gutenberg e2e-test-utils package API docs: https://github.com/WordPress/gutenberg/tree/trunk/packages/e2e-test-utils
-
Puppeteer API docs: https://github.com/puppeteer/puppeteer#readme (the version we are using is indicated in the @wordpress/scripts package: https://github.com/WordPress/gutenberg/blob/trunk/packages/scripts/package.json)