wordpress-develop/tests/e2e
Marius L. J 5261ddb3ed Build/Test Tools: Switch frame container when testing block editor output.
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
2023-06-28 10:45:16 +00:00
..
config Block Editor: Update the WordPress Packages based on Gutenberg 11.9 RC1. 2021-11-08 14:26:27 +00:00
specs Build/Test Tools: Switch frame container when testing block editor output. 2023-06-28 10:45:16 +00:00
jest.config.js Block Editor: Update the WordPress Packages to the ones used in the Gutenberg 6.5 release 2019-09-19 15:17:39 +00:00
README.md Build/Test Tools: Add end-to-end (e2e) tests README.md. 2021-10-12 18:50:34 +00:00
run-tests.js Build/Test Tools: Update some NPM dependencies to the latest versions. 2022-04-08 20:05:03 +00:00

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