Cypress Plugins
Plugins provide a way to support and extend the behavior of Cypress. Follow these instructions to submit your own plugin.
Check out our How to use Plugins or our Node Events Overview for writing a plugin.
Preprocessors
A preprocessor is the plugin responsible for preparing a support file or a test file for the browser. By default, Cypress comes packaged with webpack preprocessor already installed. Read the Preprocessors API docs to learn more.
- Webpackofficial- Watches and bundles your spec files via webpack. #webpack
- 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
- Cucumbercommunity- Run cucumber/gherkin-syntaxed specs with cypress.io. #file-watcher #cucumber
- 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-vitecommunity- Cypress preproccessor for running specs using vite. #vite
- cypress-laravelcommunity- Add commands and hooks to test Laravel applications. #php #laravel
Secret Managment
- Cypress AWS Secrets Managercommunity- This plugin integrates AWS Secrets Manager into your Cypress tests, ensuring that sensitive data like API keys, passwords, and tokens remain secure during testing. It allows for secure loading and updating of secrets directly from your tests. #aws #secrets #aws-secrets-manager #secrets-manager
Development Tools
- 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
- CircleCI Cypress Orbofficial- Cypress Orb for CircleCI configuration to correctly install, cache and run Cypress.io tests in CircleCI with very little effort. #continuous-integration #circleci
- Cypress Github Actionsofficial- GitHub Action for running Cypress end-to-end and component tests. Includes npm, pnpm and Yarn installation, custom caching and lots of configuration options. #continuous-integration #github-actions
- @cypress/code-coverageofficial- Plugin to save code coverage collected during Cypress tests. #coverage
- Cypress Chrome Recorderofficial- Tool to export Cypress Tests from Google Chrome DevTools' Recordings programmatically. #recording #chrome #automation #devtools
- Official Cypress extension for Chrome DevTools that allows you to export Cypress tests directly from the Recorder panel. #recording #chrome #extension #devtools
- @cypress/grepofficial- Filter tests using its title or tags. #grep
- TypeScriptofficial- Official TypeScript definitions for the Cypress API. #typescript
- cypress-runner-themescommunity- Alternative themes for the Cypress Test Runner. #theme #dark #light #colorblind
- cypress-voice-plugincommunity- Cypress plugin to announce spec result and time in Cypress Test Runner. #auditory #ui #results #duration
- cypress-plugin-last-failedcommunity- A companion Cypress plugin for `cy-grep` that re-runs the last failed test(s). #grep #ui #failure #results
- cypress-plugin-grep-boxescommunity- A companion Cypress plugin for `cy-grep` that allows users to run specific test(s) in open mode. #grep #ui
- cypress-cli-selectcommunity- Cypress interactive cli prompt to select and run specific specs, tests or tags #grep #cli #tags
- 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
- vscode-cy-helpercommunity- Visual Studio Code extension for cypress and cucumber preprocessor. #vscode #extension #intellisense
- 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
- 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
- cypress-log-filtercommunity- Easily filter Cypress command logs based on different log levels #log #command #filter
- 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-duration-metricscommunity- Measure duration of commands and different stages of cypress lifecycle. Log to terminal. #duration #timings #commands #performance #measurement #metrics #total
- 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
- cypress-fail-on-network-errorcommunity- Fail cypress test on network error. #network #error #fail
- cypress-codegencommunity- A Cypress plugin which automatically adds and enables IntelliSense for custom commands #commands #development #codegen
- cypress-backoffcommunity- A Cypress plugin to apply different timeout strategies to retried tests #retries #backoff
- cypress-fixture-fakercommunity- A Cypress plugin that enables faker functions in json fixture files. #fixture #faker
- cypress-solidcommunity- A Cypress plugin to help you test applications using the Solid Protocol. #solid #solid-protocol
- cypress-test-data-generatorcommunity- Generate realistic test data for Cypress tests using Faker.js. #data-generation #faker #testing #test-data
- cypress-geolocation-locale-fakercommunity- A Cypress plugin to mock geolocation, timezone, language, and locale settings for end-to-end testing. Useful for simulating user environments worldwide. #geolocation #timezone #locale #language #plugin #testing
Custom Commands
Read the Custom Commands and Custom Query documentation to learn more.
- Puppeteerofficial- Utilize Puppeteer's browser API with one command within Cypress. #puppeteer #multi-tab
- 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-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-plugin-stepscommunity- Helper utility for annotating your tests with steps. Adds cy.step() and cy.section() commands #step #section #readability
- cypress-envcommunity- This utility simplifies the process of handling different environments (such as test, staging, and production) by providing a environment-specific settings in your Cypress tests. #multi #environment #env #multi-environment #test #stage #prod
- cypress-plugin-xhr-togglecommunity- Hides and reveals XHR events in Cypress GUI #utility #UI #api #xhr
- cypress-plugin-apicommunity- Cypress plugin for effective API testing. Imagine Postman, but in Cypress. #api
- cy-viewcommunity- Run tests on multiple URLs at various viewport sizes. #viewports
- cypress-axecommunity- Helps test your applications for accessibility issues using axe-core. #accessibility #a11y
- cypress-a11y-reportcommunity- Test your web applications and components for accessibility issues with axe-core®. #accessibility #a11y #axe-core
- cypress-drag-dropcommunity- Adds a cypress child command for drag'n'drop support. #dragndrop #drag #drop #commands
- cypress-dragndrop-kitcommunity- A lightweight, Cypress-native plugin that simplifies drag‑and‑drop and movement interactions in end-to-end tests. Perfect for testing sortable lists, draggable elements, and custom UI components. #dragndrop #drag-and-drop #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-graphqlcommunity- Custom commands to stub, spy, or test GraphQL operations. #graphql #mocking #networking #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
- cy-mobile-commandscommunity- Mobile testing helper for Cypress. #mobile #swipe #touch #commands
- cypress-downloadfilecommunity- A custom command to download different kinds of files and store them on your local machine #commands #downloading
- cypress-commandscommunity- A collection of Cypress commands to extend and complement the defaults. #commands
- 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-SignalR-Mockcommunity- Easy way to publish messages from and to your SignalR hubs in Cypress E2E tests. #commands #signalr #mock #websocket
- @bahmutov/cy-apicommunity- Cypress custom command "cy.api" for HTTP API testing with server logs. #api
- 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-react-selectorcommunity- 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
- cy-verify-downloadscommunity- Cypress custom command to wait and verify that file was downloaded. #commands #assertions #wait #verify #download
- cypress-ifcommunity- Easy conditional if-else logic for your Cypress tests. #commands
- cypress-mongodbcommunity- Plugin that allows interaction with MongoDB server using Cypress commands. #testing #commands #mongodb #mongo #database #db
- cy-spokcommunity- Adds assertions from Spok library for easy schema and value validations. #assertions
- cypress-plugin-tabcommunity- A Cypress plugin to add a tab command. #commands
- cypress-plugin-multiple-clickcommunity- Click multiple times in Cypress. #testing #commands #click
- @datashard/snapshotcommunity- Adds Snapshot command. Adds value / object / DOM element snapshot testing support to Cypress test runner #snapshot #comparison #commands
- cypress-plugin-dotenvcommunity- Load .env variables in Cypress. #testing #commands #.env #environment variables
- cypress-intercept-formdatacommunity- Work with Cypress' Intercept multipart/form-data requests #testing #commands #intercept #form-data #request
Extending other testing frameworks
- 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
Take a look at our auth guides for Amazon Cognito, Auth0, Azure Active Directory, Google, Okta Cognito, and Social Logins. Also checkout our Logging in recipes.
- cypress-ntlm-authverified- NTLM authentication support for Cypress. #authentication #ntlm
- cypress-social-loginscommunity- Cypress authentication flows using social network providers. #authentication #login #social profiles #github #google
Framework tooling
- Cypress Schematicofficial- Adds Cypress to your Angular project via the Angular CLI. Adopted by Cypress; originally released as @briebug/cypress-schematic. #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
- 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
- cypress-railscommunity- Ruby gem to run Cypress against Rails apps, replacing Capybara in system tests. #ruby #rails
Component Testing
Loading and mounting components from various frameworks.
- Cypress Angularofficial- Test Angular components using Cypress Test Runner. This package is bundled with the cypress package and does not need to be installed separately, unless a specific version is desired. See the Angular Component Testing Docs for mounting Angular components. #component #angular
- Cypress Reactofficial- Test React components using Cypress Test Runner. This package is bundled with the cypress package and does not need to be installed separately, unless a specific version is desired. See the React Component Testing Docs for mounting React components. #component #react
- Cypress Svelteofficial- Test Svelte components using Cypress Test Runner. This package is bundled with the cypress package and should not need to be installed separately. See the Svelte Component Testing Docs for mounting Svelte components. #component #svelte
- Cypress Vueofficial- Test Vue 3 components using Cypress Test Runner. This package is bundled with the cypress package and should not need to be installed separately. See the Vue Component Testing Docs for mounting Vue components. #component #vue #vue.js
- cypress-angular-unit-testcommunity- Test Angular component using Cypress Test Runner. #component #angular
- cypress-ct-custom-devservercommunity- Simplified API for creating custom dev servers for Cypress. #component #buildtool #devserver
- cypress-devserver-esbuildcommunity- Build Cypress Component Tests using esbuild. #component #esbuild #devserver
- cypress-rspack-dev-servercommunity- Build Cypress Component Tests using Rspack. #component #Rspack #dev-server
Visual Testing
Visual testing is a great complement to functional testing.
- Wopee.iocommunity- Wopee.io: Easy visual testing with Cypress. #fullpage #screenshots #visual regression #screenshots comparison
- SmartBear VisualTestverified- Visual regression testing for Cypress tests with SmartBear VisualTest. #visual-ai #fullpage #screenshots #visual regression #screenshots comparison
- Argosverified- Automate visual testing in your CI. #devX #screenshots
- Applitoolsverified- Fast, easy and reliable visual UI testing with Cypress. 
- Percyverified- Visual regression testing for Cypress tests with Percy. #screenshots #visual regression
- Pixeleyecommunity- Open-source, multi-browser visual review and testing platform. #open-source #screenshots #visual regression #multi-browser
- Happocommunity- Cross-platform, cross-browser screenshot testing for modern user interfaces. #screenshots #visual regression
- Cypress Image Snapshotcommunity- Catch visual regressions and compare image diffs locally and in Cypress Cloud. #image-diff #snapshot
- Cypress Visual Regressioncommunity- Plugin that adds powerful visual regression testing capabilities to Cypress, that comes with a comparison preview built in the Cypress Test Runner. #image-diff #snapshot #visual regression
- A module for adding visual regression testing to Cypress, based on Cypress Visual Regression plugin and Resemble.JS library. The main difference between 'Cypress Visual Regression' plugin and this one is that the present plugin mitigates the anti-aliasing problem. The problem appears when comparing the base and actual screenshots generated on different environments (e.g. Windows vs Linux). #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
- Visual Regression Diffcommunity- Perform visual regression test with a nice GUI as help. 💅 Supports both E2E and Component Testings #screenshots #visual regression #visual testing #image-diff #image comparison #image snapshot
- Micoocommunity- Cypress plugin for doing visual regression testing with Micoo services #visual regression testing #visual testing #screenshots comparison #testing service
Reporting
- cypress-xray-junit-reportercommunity- Enhances your Cypress test suite with the cypress-xray-junit-reporter a specialized custom reporter designed to seamlessly generating comprehensive XRay-compatible JUnit-style XML reports, complete with embedded screenshots on test failures, facilitating a thorough analysis of test execution. #reporter #xray #mochawesome #jira #screenshot #issue #junit #screenshots #CI #CLI
- cypress-failed-logcommunity- Saves the Cypress test command log as a JSON file if a test fails. #reporter
- cypress-terminal-reportcommunity- Logs to terminal and files mimicking cypress UI. Logs all cypress commands, request/response data and browser console logs. #reporter #logs #terminal #CI #CLI
- 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
- cypress-slack-reportercommunity- Slack reporting tool. Uses mochawesome json reports, provides links to VCS Provider (github/bitbucket) and CircleCI logs. #reporter #mochawesome #slack
- mochawesome-mergecommunity- Merges multiple mochawesome JSON reports. #reporter #mochawesome
- cypress-mochawesome-reportercommunity- Zero config Mochawesome reporter for Cypress with screenshots. #reporter #mochawesome #screenshot
- allure-cypresscommunity- Allure reporter for Cypress. Creates rich HTML test reports with screenshots, steps and more. #reporter #allure #step #screenshot
- cypress-xray-plugincommunity- A plugin for uploading Cypress test results to Xray, including evidence such as screenshots, videos or custom data. Fully compatible with Cucumber. #reporter #xray #jira #cucumber #screenshot #video
- 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
- cypress-mailhogcommunity- A collection of useful Cypress commands for testing Emails utilizing the MailHog RestAPI. Comes with TypeScript support. #email #mailhog #test #commands
- cypress-guerrillamailcommunity- Create and use a randomly-generated email address from Guerrilla Mail. #email #guerrillamail #test #commands
- cypress-temp-mailcommunity- Lightweight npm library designed to generate temporary email addresses for end-to-end testing with Cypress #cypress-temp-mail #email #temp-mail #test #commands
- cymapcommunity- Access email from any email server by leveraging IMAP capabilities inside Cypress. #imap #email #test #commands
- cypress-mailpitcommunity- A collection of useful Cypress commands for testing Emails utilizing the Mailpit RestAPI. Comes with TypeScript support #mailpit #email #test #commands #email
- cypress-sqlcommunity- The @dankieu/cypress-sql package supports the following database connections Sql server, Mysql, OracleDB, Postgress #sql #database #test #commands #oracle
SMS
- cypress-temp-smscommunity- Generates temporary mobile numbers that shall be used for SMS verification (OTP,2FA) #cypress-temp-sms #sms #temp-number #otp #2fa #commands