# cypress-example-recipes **Repository Path**: mirrors_cypress-io/cypress-example-recipes ## Basic Information - **Project Name**: cypress-example-recipes - **Description**: Various recipes for testing common scenarios with Cypress - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2020-08-08 - **Last Updated**: 2025-11-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Recipes [![CircleCI](https://circleci.com/gh/cypress-io/cypress-example-recipes/tree/master.svg?style=svg)](https://circleci.com/gh/cypress-io/cypress-example-recipes/tree/master) [![renovate-app badge][renovate-badge]][renovate-app] [![Cypress Dashboard][dashboard badge]][dashboard url] > This repo contains various recipes for testing common scenarios using Cypress: [Fundamentals](#fundamentals), [Testing the DOM](#testing-the-dom), [Logging in](#logging-in-recipes), [Preprocessors](#preprocessors), [Blogs](#blogs), [Stubbing and spying](#stubbing-and-spying), [Unit Testing](#unit-testing), [Server Communication](#server-communication), [Other Cypress Recipes](#other-cypress-recipes), [Community Recipes](#community-recipes) ## Fundamentals Recipe | Description --- | --- [Node Modules](./examples/fundamentals__node-modules) | Import your own node modules [Environment variables](./examples/server-communication__env-variables) | Passing environment variables to tests [Handling errors](./examples/fundamentals__errors) | Handling thrown errors and unhandled promise rejections [Dynamic tests](./examples/fundamentals__dynamic-tests) | Create tests dynamically from JSON data [Dynamic tests from CSV](./examples/fundamentals__dynamic-tests-from-csv) | Create tests dynamically from CSV file [Dynamic tests from API](./examples/fundamentals__dynamic-tests-from-api) | Create tests dynamically by calling an external API [Fixtures](./examples/fundamentals__fixtures) | Loading single or multiple fixtures [Adding Custom Commands](./examples/fundamentals__add-custom-command) | Write your own custom commands using JavaScript with correct types for IntelliSense to work [Adding Custom Commands (TS)](./examples/fundamentals__add-custom-command-ts) | Write your own custom commands using TypeScript [Adding Chai Assertions](./examples/extending-cypress__chai-assertions) | Add new or custom chai assertions with correct types [Cypress module API](./examples/fundamentals__module-api) | Run Cypress via its module API [Wrapping Cypress module API](./examples/fundamentals__module-api-wrap) | Writing a wrapper around "cypress run" command line parsing [Custom browsers](./examples/fundamentals__custom-browsers) | Control which browsers the project can use, or even add a custom browser into the list [Use Chrome Remote Interface](./examples/fundamentals__chrome-remote-debugging) | Use Chrome debugger protocol to trigger hover state and print media style [Out-of-the-box TypeScript](./examples/fundamentals__typescript) | Write tests in TypeScript without setting up preprocessors [Per-test timeout](./examples/fundamentals__timeout) | Fail a test if it runs longer than the specified time limit [Cypress events](./examples/fundamentals__cy-events) | Using `Cypress.on` and `cy.on` to listen to [Cypress events](https://on.cypress.io/catalog-of-events) like `before:window:load` [Video resolution](./examples/fundamentals__window-size) | Increase the browser window size to record high quality videos and capture detailed screenshots ## Testing the DOM Recipe | Description --- | --- [Tab Handling and Links](./examples/testing-dom__tab-handling-links) | Links that open in a new tab [Hover and Hidden Elements](./examples/testing-dom__hover-hidden-elements) | Test hidden elements requiring hover [Form Interactions](./examples/testing-dom__form-interactions) | Test form elements like input type `range` [Drag and Drop](./examples/testing-dom__drag-drop) | Use `.trigger()` to test drag and drop [Shadow DOM](./examples/testing-dom__shadow-dom) | You need to use any of available custom commands [Waiting for static resource](./examples/testing-dom__wait-for-resource) | Shows how to wait for CSS, image, or any other static resource to load [CSV load and table test](./examples/testing-dom__csv-table) | Loads CSV file and quickly compares objects against cells in a table [Evaluate performance metrics](./examples/testing-dom__performance-metrics) | Utilize Cypress to monitor a website [Root style](./examples/testing-dom__root-style) | Trigger input color change that modifies CSS variable [Select widgets](./examples/testing-dom__select2) | Working with `