@10up/cypress-wp-utils
v0.4.0
Published
Cypress command utilities for testing WordPress
Downloads
2,703
Readme
Cypress Utilities for WordPress
Utilities library for WordPress E2E testing in the Cypress environment.
Prerequisites
This library requires Cypress. Use @10up/cypress-wp-setup to set up Cypress automatically, including this library. If running tests against WordPress 6.3, you'll probably need to set chromeWebSecurity: false
in your Cypress config file. This allows Cypress to properly interact with the iframed Block Editor.
Installation
npm install @10up/cypress-wp-utils --save-dev
Usage
Import the libary in support/index.js
file:
// tests/cypress/support/index.js
import '@10up/cypress-wp-utils';
Documentation for commands can be found at https://10up.github.io/cypress-wp-utils/.
IntelliSense and code completion for Cypress commands
Add a tsconfig.json
file into the cypress folder to enable code completion for both Cypress built-in commands and commands from this library:
{
"compilerOptions": {
"allowJs": true,
"types": ["cypress"]
},
"include": ["**/*.*"]
}
Adding a new command
This project uses hygen
to scaffold new commands to reduce the effort of manually importing and registering new commands:
$ npx hygen cypress-command new customCommand
Loaded templates: _templates
added: src/commands/custom-command.ts
inject: src/index.ts
inject: src/index.ts
inject: src/index.ts
Install the library locally
npm i -D path/to/the/library
Test against every WordPress major release
Every incoming pull request will automatically run tests against:
- our current minimum supported WordPress version, 5.7
- WordPress latest release
- current WordPress future release
To run tests locally against every WordPress major release since minimum support (5.7) to the latest nightly build (e.g., 6.4-alpha) use this script:
./run-all-cores.sh
It has optional parameter -s
to specify only one test suite to run:
./run-all-cores.sh -s tests/cypress/intergation/login.test.js
Contributing
Please read CODE_OF_CONDUCT.md for details on our code of conduct, CONTRIBUTING.md for details on the process for submitting pull requests to us, and CREDITS.md for a list of maintainers, contributors, and libraries used in this repository.
Support Level
Beta: This project is quite new and we're not sure what our ongoing support level for this will be. Bug reports, feature requests, questions, and pull requests are welcome. If you like this project please let us know, but be cautious using this in a Production environment!