Skip to content

NoriSte/cypress-otp

Repository files navigation

Cypress OTP

Enter a valid OTP token in your UI tests

Build Status Build Cron Renovate enabled Commitizen friendly Open Source Love npm

Cypress OTP

Use this plugin to insert a valid OTP token in a Cypress test.

Installation

npm i -D cypress-otp
# or
yarn add -D cypress-otp

then open your cypress/plugins/index.js file and register a new task

module.exports = on => {
  on("task", {
    generateOTP: require("cypress-otp")
  });
};

How to use it

To get an OTP code

cy.task("generateOTP", "YOUR_SECRET").then(token => {
  cy.get("#otp-token").type(token);
});

Take a look at the example test source code.

Tips

  • the plugin saves the last used secret so you can avoid to pass it every time. You can even set it at the beginning of your test suite
before(() => {
  cy.task("generateOTP", "YOUR_SECRET");
});

and then consume the generateOTP task

cy.task("generateOTP").then(token => {
  cy.get("#otp-token").type(token);
});

Contributors

Thanks goes to these wonderful people (emoji key):

Stefano Magni
Stefano Magni

💻 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!