Плагины
Плагины предоставляют способ поддержки и расширения функциональности Cypress. Следуйте этим инструкциям, чтобы отправить свой собственный плагин.
Ищете документацию API?
Посмотрите наше Руководство по плагинам или нашу документацию API по написанию плагина.
Типы плагинов
Препроцессоры
-
Browserify
официальноОтслеживает и собирает ваши файлы спецификаций с помощью browserify. Это по умолчанию препроцессор, встроенный в Cypress.
#browserify -
Cucumber
сообществоЗапускает спецификации с синтаксисом cucumber/gherkin с помощью cypress.io
#file-watcher#cucumber -
cypress-app-watcher-preprocessor
сообществоПерезапускает тесты Cypress при перезапуске сервера бэкэнда
#file-watcher -
cypress-eslint-preprocessor
сообществоВыполняет проверку кода с помощью ESLint для ваших файлов спецификаций при их загрузке и отображает ошибки в консоли
#eslint -
Watch
официальноОтслеживает ваши файлы спецификаций и предоставляет их как есть. Полезно в качестве справочного примера или если вам не нужно транспилирование/сборка.
#file-watcher -
Webpack
официальноОтслеживает и собирает ваши файлы спецификаций с помощью webpack.
#webpack -
Rollup
сообществоОтслеживает и собирает ваши файлы спецификаций с помощью Rollup
#rollup -
cypress-markdown-preprocessor
сообществоПрепроцессор Cypress для извлечения тестов из файлов Markdown
#markdown -
cypress-rollup-preprocessor
сообществоПрепроцессор Cypress для сборки JavaScript с помощью rollup
#rollup -
@bahmutov/cypress-esbuild-preprocessor
сообществоСборка спецификаций Cypress с помощью esbuild
#esbuild -
cypress-esbuild-preprocessor
сообществоИспользует evanw/esbuild для сборки ваших спецификаций.
#esbuild
Инструменты разработки
-
CircleCI Cypress Orb
officialОфициальная сборка Cypress Orb для конфигурации CircleCI.
#continuous-integration -
cypress-dark
verifiedНесколько цветовых тем для среды выполнения тестов Cypress.
#theme -
cypress-protobuf
communityКодирование заготовки с помощью Protocol Buffers.
#encoding#protobuf -
Docker
officialОбразы Docker, предоставляющие все зависимости для запуска Cypress в CI, включая браузеры.
#docker#continuous-integration -
eslint-plugin-cypress
officialПлагин ESLint, который устанавливает глобальные переменные для написания тестов в Cypress.
#eslint -
Knapsack Pro Cypress
communityДинамическое разделение тестов между параллельными узлами CI с помощью режима очереди Knapsack Pro для ускорения сборок CI. Примечание: это стороннее решение, отличное от параллелизации панели мониторинга Cypress.
#CI parallelisation#continuous-integration -
TypeScript
officialОфициальные определения TypeScript для API Cypress.
#typescript -
cly
communityПрототип генерации более быстрого каркаса проекта для Cypress.
#cypress cli#prototype#CLI#scaffolding -
cypress-watch-and-reload
communityПерезагружает Cypress при изменении одного из отслеживаемых файлов.
#file-watcher -
cypress-autostub
communityУстраняет необходимость в поддержании хрупких ручных макетов путем автоматизации записи и создания заглушек для запросов.
#mocking#stubbing#recording#fetch#xhr -
cypress-plugin-livereload
communityПерезагружает Cypress с помощью livereload.
#livereload -
cypress-select-tests
communityПользовательское решение для поиска тестов Cypress для запуска.
#browserify -
cypress-grep
communityФильтрация тестов по их заголовку или тегам.
#grep -
cypress-autorecord
communityУпрощение имитации API путем автоматической записи/создания заглушек HTTP-взаимодействий и автоматизации процесса обновления/удаления макетов.
#mock#recording#http#integration test -
@cypress/code-coverage
officialПлагин для сохранения покрытия кода, собранного во время тестов Cypress.
#coverage -
@cypress/instrument-cra
officialМодуль NPM для приложений create-react-app для инструментирования исходного кода без извлечения react-scripts.
#coverage -
@cypress/fiddle
officialБыстро создает тесты Cypress из кода HTML и JS.
#prototype -
npm-cy
communityЭто действие GitHub для npm позволяет выполнять произвольные действия с помощью клиентской программы командной строки npm, включая тестирование с помощью cypress.io и публикацию в реестр.
#github#actions#npm -
vscode-cy-helper
communityРасширение Visual Studio Code для cypress и предобработки огурцов.
#vscode#extension#intellisense -
cypress-dotenv
communityПлагин Cypress, обеспечивающий совместимость с dotenv.
#dotenv#env#environment#env var -
cypress-har-generator
communityГенерирует HTTP Archive (HAR) во время выполнения тестов.
#har#http-archive#http#websocket#recording#chrome
-
cypress-expect-n-assertions
communityCypress helper that checks the number of expected and actual assertions in the test
#test#assertion -
cypress-audit
communityRun Lighthouse audit directly in your E2E test suites
#lighthouse -
cypress-hmr-restarter
communityRestarts tests when receiving webpack-dev-server HMR updates
#webpack#webpack-dev-server#hmr -
@bahmutov/cypress-extends
communityCypress plugin that adds "extends" support to the configuration file
#config -
cypress-browser-permissions
communityControls permissions for desktop notifications, geolocation, and other browser APIs
#permissions#notifications#geolocation#camera#microphone -
cypress-repeat
communityRun Cypress multiple times in a row, great at finding test flake
-
cypress-expect
communityCypress CLI wrapper where you can specify the total number of expected tests
#cli -
cy-search
communitySearch Cypress documentation from the terminal
#cli -
cypress-tags
communityUse custom tags to slice up Cypress test runs
#test#tag#browserify -
@swimlane/cy-mockapi
communityEasily mock your REST API in Cypress by placing responses in the fixtures directory tree.
#mock#rest#api -
cypress-timings
communityA Cypress plugin for reporting individual command timings.
#commands#performance -
cypress-fail-fast
communityEnables fail-fast in Cypress, skipping the rest of tests on the first failure.
#fail-fast#failure#skip#config -
cypress-fail-on-console-error
communityFail Cypress test on console error.
#console#error#fail
Заказные команды
-
cy-view
communityЗапускайте тесты на нескольких URL-адресах с различными размерами видовых экранов.
#viewports -
cypress-unfetch
verifiedОтслеживайте, тестируйте и блокируйте выполнение кода на основе состояния сети.
#commands#routing#networking -
cypress-redux
communityВыполняйте утверждения для хранилищ Redux.
#commands#redux -
cypress-axe
communityПомогает тестировать ваши приложения на наличие проблем с доступностью с помощью axe-core.
#accessibility#a11y -
cypress-drag-drop
communityДобавляет дочернюю команду Cypress для поддержки перетаскивания.
#dragndrop#drag#drop#commands -
cypress-fill-command
communityКоманда Cypress для заполнения полей ввода
#commands -
cypress-firebase
communityЗаказные команды для Firebase, включая аутентификацию и взаимодействие с базой данных (как с базой данных реального времени, так и с Firestore).
#firebase#database#commands -
cypress-graphql-mock-network
communityЗаказные команды для имитации вашего GraphQL API на уровне сети. Использование service-workers для полной изоляции mock-сервера.
#graphql#mocking#networking#commands -
cypress-graphql-mock
communityДобавляет команды для запуска имитируемого GraphQL-сервера, используя только клиент.
#graphql -
cy-mobile-commands
communityВспомогательное средство для мобильного тестирования в Cypress
#mobile#swipe#touch#commands -
cypress-pipe
communityСоздавайте заказные команды, используя обычные функции. Похоже на `cy.then`, но с возможностью повторных попыток.
#commands -
cypress-downloadfile
communityЗаказная команда для загрузки различных типов файлов и их сохранения на вашем локальном компьютере
#commands#downloading -
cypress-testing-library
verified🐅 Простые и полные заказные команды и утилиты Cypress, которые поощряют хорошие методы тестирования.
#testing-library#dom-testing-library#react-testing-library -
cypress-plugin-stripe-elements
communityПростые команды, которые упрощают нацеливание и заполнение полей ввода элементов Stripe.
#stripe#commands#elements#inputs -
cypress-xpath
officialДобавляет команду XPath. Этот репозиторий также является хорошим примером использования заказных команд для повторных попыток, предоставления определений TypeScript и т. д.
#xpath#commands -
cypressautomocker
communityПозволяет записывать результаты API и воспроизводить API в качестве mock-сервера.
#routing#mock -
cypress-plugin-tab
experimentalПлагин Cypress для добавления команды табуляции
#commands -
cypress-commands
communityКоллекция команд Cypress для расширения и дополнения команд по умолчанию
#commands -
cypress-wait-until
verifiedДобавьте возможности ожидания Cypress практически ко всему 🎉
#commands#wait#wait-until#recursive-promise#check-async-value#check-value#open-source-saturday -
cypress-recurse
communityСпособ повторного запуска команд Cypress, пока функция предиката не вернет true
#commands#wait#wait-until#recursive-promise#check-async-value#check-value
-
cypress-cy-select
communityСокращенное обозначение data-cy для функций cypress get и find
#commands#shorthand -
@cypress/skip-test
officialПростые команды для пропуска теста на основе платформы, браузера или URL
#commands -
cypress-websocket-testing
communityТестирование соединений WebSocket с помощью Cypress
#commands#websocket -
@bahmutov/cy-api
communityПользовательская команда Cypress «cy.api» для тестирования HTTP API с журналами сервера
#api -
cy-spok
experimentalДобавляет утверждения из библиотеки Spok для простого валидирования схем и значений
#assertions -
cypress-localstorage-commands
communityПользовательские команды для localStorage. Позволяет сохранять localStorage между тестами
#commands#localstorage#persistence -
cypress-iframe
communityПользовательские команды для взаимодействия с iframe
#commands#iframe -
Пользовательские команды cypress для поиска элементов react по компоненту, свойствам и состоянию
#react#commands#locator -
cypress-layout-inspector
communityПростая утилита для предоставления функциональности тестирования макета в Cypress через пользовательские утверждения.
#testing#ui#dom#assertions -
@swimlane/cy-dom-diff
communitycy-dom-diff позволяет сопоставлять части DOM с HTML, включая динамическое содержимое.
#dom#assertions -
cypress-real-events
communityИнициировать системные события напрямую из Cypress, такие как наведение курсора, свайп и т. д.
#commands -
cypress-azure-keyvault
communityПользовательская команда Cypress для получения ключей из хранилищ ключей Azure.
#testing#azure#keyvault#secret -
cypress-rest-graphql
communityДобавление визуального вывода и вспомогательных функций для выполнения запросов REST и graphQL
#api#rest#graphQL
Расширение других фреймворков тестирования
-
cyphell
communityПреобразование тестов автоматизации WDIO в Cypress.
#wdio -
cypress-capybara
communityНесколько поисковых запросов Capybara, повторно реализованных в Cypress, для поиска элементов пользовательского интерфейса по их тексту и меткам.
#testing-library#capybara -
cypress-jest-adapter
communityДобавление стиля утверждений Jest к команде Cypress expect
#jest -
PickleJS
communityДополнительный плагин Cucumber, содержащий набор фраз, которые можно использовать для общих действий (например, «Я нажимаю на <Элемент>», «Я должен увидеть <Элемент>»)
#cucumber#collection#actions#commands
Аутентификация
Также ознакомьтесь с рецептами входа в систему.
-
cypress-keycloak-commands
verifiedКоманды Cypress для аутентификации пользователей с помощью поставщика удостоверений Keycloak
#authentication#login#keycloak#oauth#openid -
cypress-ntlm-auth
verifiedПоддержка NTLM-аутентификации для Cypress
#authentication#ntlm -
cypress-otp
communityГенерация допустимого токена OTP для Cypress
#authentication#otp#2fa#mfa -
cypress-social-logins
communityПотоки аутентификации Cypress с использованием социальных сетей
#authentication#login#social profiles#github#google
Инструментарий фреймворка
-
Cypress Angular Schematic
communityДобавление в Angular CLI, позволяющее установить Cypress E2E в проект Angular CLI
#angular#cli -
cypress-on-rails
communityRubygem для использования cypress.io с приложениями Ruby on Rails
#ruby-rack#ruby-on-rails -
Nx
communityИнтеллектуальная, быстрая и расширяемая система сборки
#angular#react#cli#monorepo -
Vue CLI
verifiedVue CLI позволяет вам создать каркас приложения с полностью настроенным Cypress E2E
#vue.js#vue#cli -
Cypress Nuxt
communityУтилиты для использования Cypress с Nuxt.
#vue.js#vue#nuxt#nuxt.js -
Aurelia CLI
communityAurelia CLI — это официальный инструмент командной строки для Aurelia.
#aurelia#cli -
WordPress ReactJS Boilerplate
communityПолный шаблон плагина WordPress, включая тесты Cypress.io E2E.
#wp#wordpress -
Next Right Now - Next.js Boilerplate
communityШаблон Next.js с Jest/Cypress и встроенным конвейером CI/CD (monorepo, многопользовательский)
#next.js#react#monorepo#multi-tenants -
Elm Batteries Included
communityШаблон проекта для изучения того, как Elm, Parcel, Cypress и Netlify работают вместе.
#elm#parcel#netlify -
cypress-rails
communityДрагоценный камень Ruby для запуска Cypress для приложений Rails, заменяющий Capybara в системных тестах
#ruby#rails -
cypress-laravel
communityДобавить команды и хуки для тестирования приложений Laravel
#php#laravel -
cypress-splitio
communityСохраняет ваши переключатели split.io как переменные среды. Помогает определить, какие тесты e2e необходимо запустить.
#split.io#feature flags -
Bison
communityПолный шаблон Jamstack, использующий Cypress и GitHub Actions для E2E-тестирования.
#next.js#react#graphql#prisma#vercel -
@cypress/schematic
officialДобавляет Cypress в ваш проект Angular через Angular CLI
#angular#cli
Компоненты Тестирования
⚠️ Загрузка и подключение компонентов из различных фреймворков — функция экспериментальная и может быть изменена в будущем.
-
cypress-angular-unit-test
experimentalТестирование компонентов Angular с помощью Cypress Test Runner
#component#angular -
cypress-angularjs-unit-test
experimentalТестирование кода Angularjs с использованием Cypress Test Runner
#component#angular.js -
cypress-cycle-unit-test
experimentalТестирование компонентов Cycle.js с помощью Cypress Test Runner
#component#cycle.js -
cypress-hyperapp-unit-test
experimentalТестирование компонентов и приложений Hyperapp с помощью Cypress Test Runner
#component#hyperapp -
@cypress/react
experimentalТестирование компонентов React с помощью Cypress Test Runner
#component#react -
cypress-svelte-unit-test
experimentalТестирование компонентов Svelte с помощью Cypress Test Runner
#component#svelte -
@cypress/vue
experimentalТестирование компонентов Vue.js с помощью Cypress Test Runner
#component#vue#vue.js
Визуальное Тестирование
Визуальное тестирование – отличное дополнение к функциональному тестированию
-
Applitools
verifiedБыстрое, простое и надёжное визуальное тестирование пользовательского интерфейса с помощью Cypress
-
Percy
verifiedВизуальное тестирование регрессии для тестов Cypress с помощью Percy.
#скриншоты#визуальная регрессия -
Happo
communityТестирование скриншотов на разных платформах и браузерах для современных пользовательских интерфейсов.
#скриншоты#визуальная регрессия -
cypress-plugin-snapshots
communityПлагин для тестов-скриншотов в Cypress. API аналогичен Jest, но с графическим интерфейсом для проверки и утверждения изменений.
#снимок -
Cypress Image Snapshot
communityВыявляйте визуальные регрессии и сравнивайте различия изображений локально и в панели Cypress Dashboard.
#сравнение изображений#снимок -
Cypress Visual Regression
communityДобавляет визуальное тестирование регрессии в Cypress
#сравнение изображений#снимок -
cypress-blink-test
communityМодуль для добавления визуального тестирования регрессии в Cypress.
#сравнение изображений#снимок -
Visual Regression Tracker
communityИнтеграция с открытой облачной платформой для визуального тестирования и управления его результатами.
#скриншоты#сравнение изображений#визуальная регрессия -
Cypress Image Diff
communityПлагин визуального тестирования регрессии, поддерживаемый DIT - UK Gov.
#скриншоты#визуальная регрессия#сравнение изображений -
Micoo
communityПлагин Cypress для проведения визуального тестирования регрессии с помощью сервиса Micoo
#визуальное тестирование регрессии#визуальное тестирование#сравнение скриншотов#сервис тестирования
Отчётность
-
cypress-failed-log
communityСохраняет протокол команд Cypress-теста в формате JSON, если тест завершается неудачно.
#reporter -
cypress-log-to-output
communityПлагин, который выводит все логи консоли браузера в терминал во время выполнения Cypress-тестов. В настоящее время поддерживается только Chrome.
#logging -
autoset-status-cypress-testrail-reporter
communityОтчётчик TestRail, который автоматически устанавливает статус для определенного TestRun для Cypress.
#testrail#reporter#autoset#status -
cypress-testrail-reporter
communityПользовательский отчётчик для публикации результатов Cypress в запуск теста TestRail.
#testrail#reporter -
cypress-teamcity-reporter
communityПользовательский отчётчик для Teamcity, который позволяет отображать результаты тестов в режиме реального времени и добавлять их на вкладку «Тесты» страницы результатов сборки.
#teamcity#reporter -
mochawesome-merge
communityОбъединяет несколько отчётов mochawesome в формате JSON.
#reporter#mochawesome -
cypress-slack-healthcheck
communityПростой инструмент, который интегрирует Cypress с Slack для отчётов о не пройденных тестах.
#reporter#slack#healthcheck -
cypress-slack-reporter
communityИнструмент отчётов Slack. Использует отчёты mochawesome в формате JSON, предоставляет ссылки на провайдера VCS (github/bitbucket) и журналы CircleCI.
#reporter#mochawesome#slack -
cypress-terminal-report
communityЗаписывает команды Cypress, данные запросов маршрута и ошибки/предупреждения консоли браузера в терминал, когда тесты завершаются неудачно в CI.
#reporter#logs#terminal#CI#CLI -
cypress-allure-plugin
communityИнтегрирует отчётчик Allure с Cypress. Логирование команд и вложение скриншотов по умолчанию.
#reporter#allure -
cypress-mochawesome-reporter
communityОтчётчик Mochawesome для Cypress без конфигурации со скриншотами.
#reporter#mochawesome#screenshot -
cypress-msteams-reporter
communityИнструмент отчётов, который отправляет сообщение в Microsoft Teams с информацией о последних результатах выполнения Cypress-тестов.
#reporter#ms-teams#allure-report
Электронная почта
-
cypress-mailosaur
communityТестирование электронных писем и SMS с помощью Mailosaur
#email#sms#commands -
cypress-maildev
communityНабор команд Cypress для тестирования сообщений (SMS и электронных писем) с помощью API Maildev.
#email#sms#commands -
cypress-mailslurp
communityИспользование тестовых электронных ящиков для отправки и получения электронных писем в Cypress-тестах с помощью MailSlurp.
#email#mailslurp#test#commands
© 2017 Cypress.io
Licensed under the MIT License.
https://docs.cypress.io/plugins/directory