cypress-enter-plugin
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

Cypress Enter plugin

This plugin adds support for the cy.type('{enter}') to trigger the click event on button and anchor elements.

Why?

Many accessibility specifications call out that the enter key should open or activate something. If a button element is used, the browser will trigger a click event automatically, but Cypress doesn't seem to do this. This is probably because dispatching keyboard events does not trigger this functionality. It would be nice to write a test like the following:

cy.get(".some-selector").focus().type("{enter}");

But that doesn't work by default. Knowing how browsers work, we'd have to rewrite the tests like:

cy.get(".some-selector").click(); // Cypress doesn't support forwarding the enter key as a click

You and I know that the enter key will trigger a click event on a button or a element, but what if we didn't use one of those elements for whatever reason? Wouldn't it be nice to write that test and ensure the functionality works regardless of the implementation?

Installation

npm install cypress-enter-plugin

Add the following to your commands.js or commands.ts file:

import "cypress-enter-plugin";

The plugin works by overriding the type command and triggering a click event manually if the tag is a button or an anchor element.

Dependencies (0)

    Dev Dependencies (1)

    Package Sidebar

    Install

    npm i cypress-enter-plugin

    Weekly Downloads

    1,168

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    4.58 kB

    Total Files

    12

    Last publish

    Collaborators

    • nicholasboll