Skip to content

Latest commit

History

History
110 lines (77 loc) 路 2.47 KB

File metadata and controls

110 lines (77 loc) 路 2.47 KB

Welcome to cypress-store馃憢

License: MIT

ci

Cypress Javascript

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 '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
})

馃 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.