The before:spec event fires before a spec file is run. When running cypress via cypress open, the event will fire when the browser launches.
⚠️ This code is part of the plugins file and thus executes in the Node environment. You cannot call
Cypressorcycommands in this file, but you do have the direct access to the file system and the rest of the operating system.
⚠️ When running via
cypress open, thebefore:specevent only fires if the experimentalInteractiveRunEvents flag is enabled.
on('before:spec', (spec) => {
/* ... */
})
spec (Object)
Details of the spec file, including the following properties:
| Property | Description |
|---|---|
name |
The base name of the spec file (e.g. login_spec.js) |
relative |
The path to the spec file, relative to the project root (e.g. cypress/integration/login_spec.js) |
absolute |
The absolute path to the spec file (e.g. /Users/janelane/my-app/cypress/integration/login_spec.js) |
You can return a promise from the before:spec event handler and it will be awaited before Cypress proceeds running the spec.
module.exports = (on, config) => {
on('before:spec', (spec) => {
// spec will look something like this:
// {
// name: 'login_spec.js',
// relative: 'cypress/integration/login_spec.js',
// absolute: '/Users/janelane/app/cypress/integration/login_spec.js',
// }
console.log('Running', spec.relative)
})
}
© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/api/plugins/before-spec-api