Plugins
Plugins provide a way to support and extend the behavior of Cypress. Follow these instructions to submit your own plugin.
info
Check out our Plugins Guide or our API docs for writing a plugin.
Plugin Types
Preprocessors
- Cucumbercommunity- Run cucumber/gherkin-syntaxed specs with cypress.io #file-watcher #cucumber
- Cytoruscommunity- Run cucumber/gherkin-syntaxed specs with cypress.io #gherkin #cucumber
- cypress-app-watcher-preprocessorcommunity- Reruns Cypress tests when the back end server restarts #file-watcher
- cypress-eslint-preprocessorcommunity- Runs linting via ESLint on your spec files as they are loaded and display errors in the console #eslint
- Watchofficial- Watches your spec files and serves them as-is. Useful as an example reference or if you don't need transpiling/bundling. #file-watcher
- Webpackofficial- Watches and bundles your spec files via webpack. #webpack
- Rollupcommunity- Watches and bundles your spec files via Rollup #rollup
- cypress-markdown-preprocessorcommunity- Cypress preprocessor for extracting tests from Markdown files #markdown
- cypress-rollup-preprocessorcommunity- Cypress preprocessor for bundling JavaScript via rollup #rollup
- Bundle Cypress specs using esbuild #esbuild
- cypress-esbuild-preprocessorcommunity- Uses evanw/esbuild to bundle your specs. #esbuild
Development Tools
- CircleCI Cypress Orbofficial- Official Cypress Orb for CircleCI configuration. #continuous-integration
- cypress-darkverified- Several color themes for Cypress test runner #theme
- cypress-protobufcommunity- Encode a fixture with Protocol Buffers. #encoding #protobuf
- Dockerofficial- Docker images providing all the dependencies to run Cypress in CI including browsers. #docker #continuous-integration
- eslint-plugin-cypressofficial- ESLint plugin that sets globals for writing tests in Cypress. #eslint
- Knapsack Pro Cypresscommunity- 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
- TypeScriptofficial- Official TypeScript definitions for the Cypress API. #typescript
- clycommunity- A prototype of generating quicker project scaffolding for Cypress. #cypress cli #prototype #CLI #scaffolding
- cypress-watch-and-reloadcommunity- Reloads Cypress when one of the watched files changes #file-watcher
- cypress-autostubcommunity- Alleviates the need to mantain brittle manual mocks by automating the recording and stubbing of requests. #mocking #stubbing #recording #fetch #xhr
- cypress-plugin-livereloadcommunity- Reloads Cypress using livereload #livereload
- cypress-select-testscommunity- User space solution for grepping Cypress tests to run #browserify
- cypress-grepcommunity- Filter tests using its title or tags #grep
- cypress-autorecordcommunity- Simplify API mocking by auto-recording/stubbing HTTP interactions and automating the process of updating/deleting mocks. #mock #recording #http #integration test
- @cypress/code-coverageofficial- Plugin to save code coverage collected during Cypress tests #coverage
- @cypress/instrument-craofficial- NPM module for create-react-app applications to instrument source code without ejecting react-scripts #coverage
- @cypress/fiddlecommunity- Quickly generates Cypress E2E tests from HTML and JS code #prototype
- npm-cycommunity- 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
- vscode-cy-helpercommunity- Visual Studio Code extension for cypress and cucumber preprocessor #vscode #extension #intellisense
- cypress-dotenvcommunity- Cypress plugin that enables compatability with dotenv. #dotenv #env #environment #env var
- cypress-har-generatorcommunity- Generate HTTP Archive (HAR) while running tests. #har #http-archive #http #websocket #recording #chrome
- cypress-expect-n-assertionscommunity- Cypress helper that checks number of expected and actual assertions in the test #test #assertion
- cypress-auditcommunity- Run Lighthouse audit directly in your E2E test suites #lighthouse
- cypress-hmr-restartercommunity- Restarts tests when receiving webpack-dev-server HMR updates #webpack #webpack-dev-server #hmr
- @bahmutov/cypress-extendscommunity- Cypress plugin that adds "extends" support to the configuration file #config
- cypress-browser-permissionscommunity- Controls permissions for desktop notifications, geolocation, and other browser APIs #permissions #notifications #geolocation #camera #microphone
- cypress-repeatcommunity- Run Cypress multiple times in a row, great at finding test flake 
- cypress-expectcommunity- Cypress CLI wrapper where you can specify the total number of expected tests #cli
- cy-searchcommunity- Search Cypress documentation from the terminal #cli
- cypress-tagscommunity- Use custom tags to slice up Cypress test runs #test #tag #browserify
- @swimlane/cy-mockapicommunity- Easily mock your REST API in Cypress by putting responses in the fixtures directory tree. #mock #rest #api
- cypress-timingscommunity- A Cypress plugin for reporting individual command timings. #commands #performance
- cypress-fail-fastcommunity- Enables fail fast in Cypress, skipping the rest of tests on first failure. #fail-fast #failure #skip #config
- cypress-fail-on-console-errorcommunity- Fail cypress test on console error. #console #error #fail
Custom Commands
- cy-viewcommunity- Run tests on multiple URLs at various viewport sizes. #viewports
- cypress-unfetchverified- Track, test, and block code execution based on network state. #commands #routing #networking
- cypress-reduxcommunity- Run assertions against Redux stores. #commands #redux
- cypress-axecommunity- Helps test your applications for accessibility issues using axe-core. #accessibility #a11y
- cypress-drag-dropcommunity- Adds a cypress child command for drag'n'drop support. #dragndrop #drag #drop #commands
- cypress-fill-commandcommunity- A Cypress command for fill inputs #commands
- cypress-firebasecommunity- Custom commands for Firebase including Authentication and Database communication (both Real Time Database and Firestore). #firebase #database #commands
- cypress-graphql-mock-networkcommunity- Custom commands to mock your GraphQL API at the network level. Using service-workers for complete isolation of the mock server. #graphql #mocking #networking #commands
- cypress-graphql-mockcommunity- Adds commands for executing a mocked GraphQL server using only the client #graphql
- cy-mobile-commandscommunity- Mobile testing helper for Cypress #mobile #swipe #touch #commands
- cypress-pipecommunity- Create custom commands using plain-old functions. Similar to `cy.then` but with retriability. #commands
- cypress-downloadfilecommunity- A custom command to download different kinds of files and store them on your local machine #commands #downloading
- cypress-testing-libraryverified- 🐅 Simple and complete custom Cypress commands and utilities that encourage good testing practices. #testing-library #dom-testing-library #react-testing-library
- cypress-plugin-stripe-elementscommunity- Simple commands that make it easy to target and fill in Stripe Elements input fields #stripe #commands #elements #inputs
- cypress-xpathofficial- Adds XPath command. This repo is also a good example of using custom commands to do retries, provide TypeScript definitions, etc. #xpath #commands
- cypressautomockercommunity- Allow recording API results and replaying the APIs as a mock server. #routing #mock
- cypress-plugin-tabexperimental- A Cypress plugin to add a tab command #commands
- cypress-commandscommunity- A collection of Cypress commands to extend and complement the defaults #commands
- cypress-wait-untilverified- Add the Cypress waiting power to virtually everything 🎉 #commands #wait #wait-until #recursive-promise #check-async-value #check-value #open-source-saturday
- cypress-recursecommunity- A way to re-run Cypress commands until a predicate function returns true #commands #wait #wait-until #recursive-promise #check-async-value #check-value
- cypress-cy-selectcommunity- data-cy shorthand notation for cypress get and find functions #commands #shorthand
- @cypress/skip-testcommunity- Simple commands to skip a test based on platform, browser or a url #commands
- cypress-websocket-testingcommunity- Test WebSocket connections with Cypress #commands #websocket
- @bahmutov/cy-apicommunity- Cypress custom command "cy.api" for HTTP API testing with server logs #api
- cy-spokexperimental- Adds assertions from Spok library for easy schema and value validations #assertions
- cypress-localstorage-commandscommunity- Custom commands for localStorage. Allows preserving localStorage between tests #commands #localstorage #persistence
- @this-dot/cypress-indexeddbcommunity- Custom commands for indexedDb. Allows populating, modifying and asserting data stored in indexedDb. #commands #indexedDb
- cypress-iframecommunity- Custom commands for interacting with iframes #commands #iframe
- cypress custom commands to locate react elements by component, props and state #react #commands #locator
- cypress-layout-inspectorcommunity- A simple utility to provide layout testing functionality to Cypress via custom assertions. #testing #ui #dom #assertions
- @swimlane/cy-dom-diffcommunity- cy-dom-diff allows matching chunks of DOM against HTML; including dynamic content. #dom #assertions
- cypress-real-eventscommunity- Fire native system events from Cypress like hover, swipe, etc #commands
- cypress-azure-keyvaultcommunity- Cypress custom command to get keys from Azure Key Vaults. #testing #azure #keyvault #secret
- cypress-rest-graphqlcommunity- Add visual output and helper functions for performing REST and graphQL queries #api #rest #graphQL
- cypress-forced-colorscommunity- Cypress commands to enable and disable browser forced colors mode #forced colors #high contrast #high contrast mode #contrast #testing
- cy-verify-downloadscommunity- Cypress custom command to wait and verify that file was downloaded #commands #assertions #wait #verify #download
Extending other testing frameworks
- cyphellcommunity- Converts WDIO automation tests to Cypress. #wdio
- cypress-capybaracommunity- Several Capybara finders re-implemented in Cypress to locate UI elements by their text and labels. #testing-library #capybara
- cypress-jest-adaptercommunity- Add jest assertion style to Cypress expect command #jest
- PickleJScommunity- An addition to the Cucumber plugin, featuring a collection of phrases you can use for common actions (ex: "I click on an <Element>", "I should see an <Element>") #cucumber #collection #actions #commands
- Pact Cypress Adaptercommunity- Simple commands to generate Pact contracts from your existing Cypress tests, maintained by the Pactflow team #pact #pactflow #contract testing #commands
Authentication
Also take a look at Logging in recipes.
- cypress-keycloak-commandsverified- Cypress commands for authenticate users with Keycloak Identity Provider #authentication #login #keycloak #oauth #openid
- cypress-ntlm-authverified- NTLM authentication support for Cypress #authentication #ntlm
- cypress-otpcommunity- Valid OTP token generation for Cypress #authentication #otp #2fa #mfa
- cypress-social-loginscommunity- Cypress authentication flows using social network providers #authentication #login #social profiles #github #google
Framework tooling
- Cypress Angular Schematiccommunity- Angular CLI addition that allows you to install Cypress E2E to an Angular CLI project #angular #cli
- cypress-on-railscommunity- Rubygem for using cypress.io with Ruby on Rails applications #ruby-rack #ruby-on-rails
- Nxcommunity- Smart, Fast and Extensible Build System #angular #react #cli #monorepo
- Vue CLIverified- Vue CLI allows you to scaffold an application with Cypress E2E fully configured #vue.js #vue #cli
- Cypress Nuxtcommunity- Utilities for using Cypress with Nuxt. #vue.js #vue #nuxt #nuxt.js
- Aurelia CLIcommunity- The Aurelia CLI is the official command line tool for Aurelia. #aurelia #cli
- WordPress ReactJS Boilerplatecommunity- Complete WordPress Plugin Boilerplate including Cypress.io E2E tests. #wp #wordpress
- Next Right Now - Next.js Boilerplatecommunity- Next.js boilerplate with Jest/Cypress and CI/CD pipeline built-in (monorepo, multi-tenants) #next.js #react #monorepo #multi-tenants
- Elm Batteries Includedcommunity- A project template to learn how Elm, Parcel, Cypress and Netlify work together. #elm #parcel #netlify
- cypress-railscommunity- Ruby gem to run Cypress against Rails apps, replacing Capybara in system tests #ruby #rails
- cypress-laravelcommunity- Add commands and hooks to test Laravel applications #php #laravel
- cypress-splitiocommunity- Stores your split.io toggles as environment variables. Helps to decide which e2e tests you need to run. #split.io #feature flags
- Bisoncommunity- A Full Stack Jamstack Template that uses Cypress and GitHub Actions for E2E testing. #next.js #react #graphql #prisma #vercel
- @cypress/schematicofficial- Adds Cypress to your Angular project via the Angular CLI #angular #cli
Component Testing
⚠️ Loading and mounting components from various frameworks is highly experimental and might change in the future.
- cypress-angular-unit-testexperimental- Test Angular component using Cypress Test Runner #component #angular
- cypress-angularjs-unit-testexperimental- Unit test Angularjs code using Cypress Test Runner #component #angular.js
- cypress-cycle-unit-testexperimental- Test Cycle.js components using Cypress Test Runner #component #cycle.js
- cypress-hyperapp-unit-testexperimental- Test Hyperapp components and applications using Cypress Test Runner #component #hyperapp
- @cypress/reactexperimental- Test React components using Cypress Test Runner #component #react
- cypress-svelte-unit-testexperimental- Test Svelte components using Cypress Test Runner #component #svelte
- @cypress/vueexperimental- Test Vue.js components using Cypress Test Runner #component #vue #vue.js
Visual Testing
Visual testing is a great complement to functional testing
- Applitoolsverified- Fast, easy and reliable visual UI testing with Cypress 
- Percyverified- Visual regression testing for Cypress tests with Percy. #screenshots #visual regression
- Happocommunity- Cross-platform, cross-browser screenshot testing for modern user interfaces. #screenshots #visual regression
- cypress-plugin-snapshotscommunity- Plugin for snapshot tests in Cypress. Same API as Jest, but with graphical interface for reviewing and approving changes. #snapshot
- Cypress Image Snapshotcommunity- Catch visual regressions and compare image diffs locally and in Cypress Dashboard. #image-diff #snapshot
- Cypress Visual Regressioncommunity- Adds visual regression testing to Cypress #image-diff #snapshot
- cypress-blink-testcommunity- Module for adding visual regression testing to Cypress. #image-diff #snapshot
- Visual Regression Trackercommunity- Integration with open source service for visual testing and managing its results. #screenshots #image-diff #visual regression
- Cypress Image Diffcommunity- Visual regression testing plugin maintained by DIT - UK Gov. #screenshots #visual regression #image-diff
- Micoocommunity- Cypress plugin for doing visual regression testing with Micoo service #visual regression testing #visual testing #screenshots comparison #testing service
- Cypress Chrome Recorderexperimental- Tool for exporting Cypress Tests from Google Chrome DevTools' Recordings #visual testing #recorder
Reporting
- cypress-failed-logcommunity- Saves the Cypress test command log as a JSON file if a test fails. #reporter
- cypress-log-to-outputcommunity- Plugin that prints all browser console logs to the terminal while running Cypress tests. Currently, only Chrome is supported. #logging
- TestRail Reporter which auto-set status for specific TestRun for Cypress. #testrail #reporter #autoset #status
- cypress-testrail-reportercommunity- Custom reporter for publishing Cypress results to a TestRail test run. #testrail #reporter
- cypress-teamcity-reportercommunity- Custom reporter for Teamcity which makes it possible to display test results in real-time and add them on the Tests tab of the Build Results page #teamcity #reporter
- mochawesome-mergecommunity- Merges multiple mochawesome JSON reports #reporter #mochawesome
- cypress-slack-healthcheckcommunity- A simple tool which integrates Cypress with Slack to report failing tests. #reporter #slack #healthcheck
- cypress-slack-reportercommunity- Slack reporting tool. Uses mochawesome json reports, provides links to VCS Provider (github/bitbucket) and CircleCI logs #reporter #mochawesome #slack
- cypress-terminal-reportcommunity- Logs cypress commands, route request data and browser console errors and warnings to terminal when tests fail on CI. #reporter #logs #terminal #CI #CLI
- cypress-allure-plugincommunity- Integrates Allure reporter with Cypress. Command logging and screenshot attachment out of the box. #reporter #allure
- cypress-mochawesome-reportercommunity- Zero config Mochawesome reporter for Cypress with screenshots. #reporter #mochawesome #screenshot
- cypress-msteams-reportercommunity- A reporting tool which sends a message to Microsoft Teams with information about the latest cypress test execution results. #reporter #ms-teams #allure-report
- cypress-mailosaurcommunity- Test email and SMS messages using Mailosaur #email #sms #commands
- cypress-maildevcommunity- A bunch of Cypress commands in order to test your messages (SMS and Emails) by using Maildev REST API. #email #sms #commands
- cypress-mailslurpcommunity- Use test email accounts to send and receive emails in Cypress tests with MailSlurp. #email #mailslurp #test #commands
Legacy
- Browserifyofficial- Watches and bundles your spec files via browserify. #browserify