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.
-
cypress-angular-unit-test
Test Angular component using Cypress Test Runner
#component #angular -
cypress-angularjs-unit-test
Unit test Angularjs code using Cypress Test Runner
#component #angular.js -
cypress-cycle-unit-test
Test Cycle.js components using Cypress Test Runner
#component #cycle.js -
cypress-hyperapp-unit-test
Test Hyperapp components and applications using Cypress Test Runner
#component #hyperapp -
cypress-react-unit-test
Test React components using Cypress Test Runner
#component #react -
cypress-svelte-unit-test
Test Svelte components using Cypress Test Runner
#component #svelte -
cypress-vue-unit-test
Test Vue.js components using Cypress Test Runner
#component #vue #vue.js
Custom 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-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-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 -
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-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
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
#cucumber #collection #actions #commands", "I should see an ")
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-on-rails
Rubygem for using cypress.io with Ruby on Rails applications
#ruby-rack #ruby-on-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