npm install @optimumqa/cypress-store
// ./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/plugins/index.js
module.exports = (on, config) => {
config = require('@optimumqa/cypress-store')(on, config)
return config
}
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 'MyStoreForUsefulStuff'.
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
})
Contributions, issues and feature requests are welcome.
Feel free to check issues page if you want to contribute.
Please ⭐️ this repository if this project helped you!
This project is MIT licensed.