Join us December 11th at 2PM EST/11AM PST to learn how the Siemens SW Hub Cloud Team increased their productivity by 38% with Cypress

Register

Plugins

Improve this doc

Plugins provide a way to support and extend the behavior of Cypress. Follow these instructions to submit your own plugin.

Looking for the API docs?

Check out our Plugins Guide or our API docs for writing a plugin.

Plugin Types

Authentication

Also take a look at "Logging in" recipes.

  • cypress-ntlm-auth

    NTLM authentication support for Cypress

    #authentication #ntlm
  • cypress-otp

    Valid OTP token generation for Cypress

    #authentication #otp #2fa #mfa
  • cypress-social-logins

    Cypress authentication flows using social network providers

    #authentication #login #social profiles #github #google

Component Testing

⚠️ Loading and mounting components from various frameworks is highly experimental and might change in the future.

Custom Commands

  • @bahmutov/cy-api

    Cypress custom command "cy.api" for HTTP API testing with server logs

    #api
  • @cypress/skip-test

    Simple commands to skip a test based on platform, browser or a url

    #commands
  • cy-view

    Run tests on multiple URLs at various viewport sizes.

    #viewports
  • cypress-axe

    Helps test your applications for accessibility issues using axe-core.

    #accessibility #a11y
  • cypress-commands

    A collection of Cypress commands to extend and complement the defaults

    #commands
  • cypress-cy-select

    data-cy shorthand notation for cypress get and find functions

    #commands #shorthand
  • cypress-downloadfile

    A custom command to download different kinds of files and store them on your local machine

    #commands #downloading
  • cypress-drag-drop

    Adds a cypress child command for drag'n'drop support.

    #dragndrop #drag #drop #commands
  • cypress-file-upload

    Simple custom command to ease file upload testing

    #fileupload #file #upload #commands
  • cypress-firebase

    Custom commands for Firebase including Authentication and Database communication (both Real Time Database and Firestore).

    #firebase #database #commands
  • cypress-graphql-mock

    Adds commands for executing a mocked GraphQL server using only the client

    #graphql
  • cypress-pipe

    Create custom commands using plain-old functions. Similar to `cy.then` but with retriability.

    #commands
  • cypress-plugin-tab

    A Cypress plugin to add a tab command

    #commands
  • cypress-shadow-dom

    Custom commands for shadow DOM support

    #shadow #shadow-dom #polymer #lit-html #commands
  • cypress-testing-library

    🐅 Simple and complete custom Cypress commands and utilities that encourage good testing practices.

    #testing-library #dom-testing-library #react-testing-library
  • cypress-unfetch

    Track, test, and block code execution based on network state.

    #commands #routing #networking
  • cypress-wait-until

    Add the Cypress waiting power to virtually everything 🎉

    #commands #wait #wait-until #recursive-promise #check-async-value #check-value #open-source-saturday
  • cypress-websocket-testing

    Test WebSocket connections with Cypress

    #commands #websocket
  • cypress-xpath

    Adds XPath command. This repo is also a good example of using custom commands to do retries, provide TypeScript definitions, etc.

    #xpath #commands
  • cypressautomocker

    Allow recording API results and replaying the APIs as a mock server.

    #routing #mock

Development Tools

  • @cypress/code-coverage

    Plugin to save code coverage collected during Cypress tests

    #coverage
  • @cypress/fiddle

    Quickly generates Cypress tests from HTML and JS code

    #prototype
  • @cypress/instrument-cra

    NPM module for create-react-app applications to instrument source code without ejecting react-scripts

    #coverage
  • CircleCI Cypress Orb

    Official Cypress Orb for CircleCI configuration.

    #continuous-integration
  • cly

    A prototype of generating quicker project scaffolding for Cypress.

    #cypress cli #prototype #CLI #scaffolding
  • cypress-autorecord

    Simplify API mocking by auto-recording/stubbing HTTP interactions and automating the process of updating/deleting mocks.

    #mock #recording #http #integration test
  • cypress-dark

    Several color themes for Cypress test runner

    #theme
  • cypress-dotenv

    Cypress plugin that enables compatability with dotenv.

    #dotenv #env #environment #env var
  • cypress-plugin-retries

    A Cypress plugin to retry failed tests.

    #cypress-plugin-retries
  • cypress-protobuf

    Encode a fixture with Protocol Buffers.

    #encoding #protobuf
  • cypress-select-tests

    User space solution for grepping Cypress tests to run

    #browserify
  • cypress-watch-and-reload

    Reloads Cypress when one of the watched files changes

    #file-watcher
  • Docker

    Docker images providing all the dependencies to run Cypress in CI including browsers.

    #docker #continuous-integration
  • ESLint

    ESLint plugin that sets globals for writing tests in Cypress.

    #eslint
  • Knapsack Pro Cypress

    Dynamic tests split across parallel CI nodes with Knapsack Pro Queue Mode to get faster CI builds. Note - this is 3rd party implementation, different from the Cypress Dashboard parallelization.

    #CI parallelisation #continuous-integration
  • npm-cy

    This GitHub Action for npm enables arbitrary actions with the npm command-line client, including testing with cypress.io and publishing to a registry.

    #github #actions #npm
  • TypeScript

    Official TypeScript definitions for the Cypress API.

    #typescript
  • vscode-cy-helper

    Visual Studio Code extension for cypress and cucumber preprocessor

    #vscode #extension #intellisense

Extending other testing frameworks

  • cyphell

    Converts WDIO automation tests to Cypress.

    #wdio
  • cypress-capybara

    Several Capybara finders re-implemented in Cypress to locate UI elements by their text and labels.

    #testing-library #capybara
  • cypress-jest-adapter

    Add jest assertion style to Cypress expect command

    #jest
  • PickleJS

    An addition to the Cucumber plugin, featuring a collection of phrases you can use for common actions (ex: "I click on an ", "I should see an ")

    #cucumber #collection #actions #commands

Framework tooling

  • Aurelia CLI

    The Aurelia CLI is the official command line tool for Aurelia.

    #aurelia #cli
  • Cypress Angular Schematic

    Angular CLI addition that allows you to install Cypress E2E to an Angular CLI project

    #angular #cli
  • Cypress Daywalker

    Shadow Dom support for cypress

    #Polymer #lit-html #ShadowDom
  • cypress-laravel

    Add commands and hooks to test Laravel applications

    #php #laravel
  • cypress-on-rails

    Rubygem for using cypress.io with Ruby on Rails applications

    #ruby-rack #ruby-on-rails
  • cypress-rails

    Ruby gem to run Cypress against Rails apps, replacing Capybara in system tests

    #ruby #rails
  • Elm Batteries Included

    A project template to learn how Elm, Parcel, Cypress and Netlify work together.

    #elm #parcel #netlify
  • Nx

    Nrwl Extensions for Angular

    #angular #cli
  • Vue CLI

    Vue CLI allows you to scaffold an application with Cypress E2E fully configured

    #vue.js #vue #cli
  • WordPress ReactJS Boilerplate

    Complete WordPress Plugin Boilerplate including Cypress.io E2E tests.

    #wp #wordpress

Preprocessors

  • Browserify

    Watches and bundles your spec files via browserify. This is the default preprocessor that's built into Cypress.

    #browserify
  • Cucumber

    Run cucumber/gherkin-syntaxed specs with cypress.io

    #file-watcher #cucumber
  • cypress-app-watcher-preprocessor

    Reruns Cypress tests when the back end server restarts

    #file-watcher
  • ESLint

    Runs linting via ESLint on your spec files as they are loaded and display errors in the console

    #eslint
  • Watch

    Watches your spec files and serves them as-is. Useful as an example reference or if you don't need transpiling/bundling.

    #file-watcher
  • Webpack

    Watches and bundles your spec files via webpack.

    #webpack

Reporting

  • cypress-failed-log

    Saves the Cypress test command log as a JSON file if a test fails.

    #reporter
  • cypress-log-to-output

    Plugin that prints all browser console logs to the terminal while running Cypress tests. Currently, only Chrome is supported.

    #logging
  • cypress-slack-healthcheck

    A simple tool which integrates Cypress with Slack to report failing tests.

    #reporter #slack #healthcheck
  • cypress-slack-reporter

    Slack reporting tool. Uses mochawesome json reports, provides links to VCS Provider (github/bitbucket) and CircleCI logs

    #reporter #mochawesome #slack
  • cypress-testrail-reporter

    Custom reporter for publishing Cypress results to a TestRail test run.

    #testrail #reporter
  • mochawesome-merge

    Merges multiple mochawesome JSON reports

    #reporter #mochawesome

Visual Testing

  • Applitools

    Fast, easy and reliable visual UI testing with Cypress

  • Cypress Image Snapshot

    Catch visual regressions and compare image diffs locally and in Cypress Dashboard.

    #image-diff #snapshot
  • Cypress Visual Regression

    Adds visual regression testing to Cypress

    #image-diff #snapshot
  • cypress-blink-test

    Module for adding visual regression testing to Cypress.

    #image-diff #snapshot
  • cypress-plugin-snapshots

    Plugin for snapshot tests in Cypress. Same API as Jest, but with graphical interface for reviewing and approving changes.

    #snapshot
  • Percy

    Visual regression testing for Cypress tests with Percy.

    #screenshots #visual regression