@optimumqa/cypress-store
v1.0.3
Published
Save and share variables between tests
Downloads
397
Maintainers
Readme
This plugin enables you to store and share values between multiple spec files
Installation
npm install @optimumqa/cypress-store
Usage
Cypress version >= 10
// ./cypress.config.js
import { defineConfig } from 'cypress'
const finalConfig = defineConfig({
e2e: {
setupNodeEvents(on, config) {
// Setup plugins
config = import('@optimumqa/cypress-store')(on, config)
return config
},
},
})
Cypress version < 10
// ./cypress/plugins/index.js
module.exports = (on, config) => {
config = require('@optimumqa/cypress-store')(on, config)
return config
}
Usage
Below is an example saving a token inside one spec, and re-use it inside another.
You can have infinite stores.
Example of setting a new item into 'CommonStore'.
If the store does not exist, it will be automatically created:
// mySpec1.cy.js
cy.task('setItem', {
storeId: 'MyStoreForUsefulStuff',
item: {
name: 'foo',
value: 'bar',
},
})
Example of getting an item from a store:
// mySpec2.cy.js
cy.task('getItem', {
storeId: 'MyStoreForUsefulStuff',
item: {
name: 'foo',
},
}).then((item) => {
console.log(item) // { name: 'token, value: 'foo' }
console.log(item.name) // foo
console.log(item.value) // bar
})
🤝 Contributing
Contributions, issues and feature requests are welcome. Feel free to check issues page if you want to contribute.
Show your support
Please ⭐️ this repository if this project helped you!
📝 License
This project is MIT licensed.