Upgrade Cypress 10, 11, and 12 in sequence: confirm your current version, migrate to the next major, run npx cypress verify and your project’s tests, then continue. Cypress 10 requires a configuration-file migration, Cypress 11 mainly calls for Component Testing users to check mount behavior, and Cypress 12 changes test isolation defaults. The exact work depends on your configuration, test code, framework, and environment.
Before you start: check the project and environment
First identify the Cypress version actually used by the project, then upgrade only to the next major. For example, move from Cypress 9 to 10 before moving from 10 to 11. Record the Node.js and browser versions used locally and in CI; requirements can differ by Cypress release, so check the documentation for the specific version rather than assuming one release’s requirements apply throughout.
As an Amazon Associate I earn from qualifying purchases.
Inventory whether the project runs end-to-end tests, Component Testing, or both. Note its configuration, plugins, support files, spec paths, and component mounting helpers. These determine which migration steps apply.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsUpgrade from Cypress 9 to 10
Cypress 10 is the largest configuration change in this sequence: it no longer supports cypress.json, and Cypress requires a JavaScript or TypeScript configuration file. Follow the official Cypress migration guide for the release-specific details.
#1 Best Overall
- Replace the JSON config. Move the project’s configuration from
cypress.jsonintocypress.config.jsorcypress.config.ts. - Move plugin event handling. Put the former plugin-file event setup in
setupNodeEvents()in the configuration. For Component Testing, put dev-server setup in the componentdevServerconfiguration. - Sort options by test type. Move relevant settings into the
e2eorcomponentconfiguration. Review options includingbaseUrl,supportFile,componentFolder, andtestFiles/specPattern. - Check paths and patterns. Compare the project’s custom spec and support-file paths with Cypress 10’s defaults, and update paths or spec patterns as needed.
- Update direct launch commands. If a workflow opens Cypress directly to a specs list, include the required testing-type and browser arguments.
Do not assume a successful config-file conversion means the migration is complete: plugin setup, test-type-specific settings, and custom paths also need to match how the project runs.
Upgrade from Cypress 10 to 11
Cypress 11’s migration is most relevant to Component Testing. Component Testing became generally available, and Cypress says most projects should migrate without code changes. Focus on the framework-specific mounting APIs and options the project actually uses.
Rank #2
- HTML CSS Design and Build Web Sites
- Comes with secure packaging
- It can be a gift option
- Repeated mounts: a later
cy.mount()call in the same test removes the component mounted previously. If the test needs several components present simultaneously, combine them into one mounted component. - Vue mount results: Cypress 11’s Vue mount yields an object containing both a wrapper and a component instance. Update code that expects a different return shape.
- Removed helper: Vue’s
mountCallbackhelper was removed. Replace its use with the supported approach for the project’s framework and version.
If the project does not use Component Testing or affected framework-specific APIs, do not make speculative code changes; verify the actual project behavior instead.
Upgrade from Cypress 11 to 12
Cypress 12 removes experimentalSessionAndOrigin as cy.origin() and cy.session() become generally available. More importantly for existing suites, test isolation is enabled by default. Cypress resets browser context before each test, including page state, cookies, local storage, and session storage.
Rank #3
- Remove
experimentalSessionAndOriginfrom the project configuration. - Review tests that depend on a page or browser state left behind by an earlier test. Revisit the application and recreate the state each test needs.
- If the project set experimental isolation to
onoroff, change the value totrueorfalse. - Keep tests independent where practical. Isolation can be disabled with
false, but doing so can introduce state leakage and order-dependent failures; use it only when deliberately required and understood.
Cypress documents that the testIsolation option is enabled by default in its migration guide.
Verify each major-version step
After applying one major’s migration, verify that Cypress can run and that the project still behaves as expected before advancing to the next major.
Rank #4
- Brand: Wiley
- Set of 2 Volumes
- A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers
- Run
npx cypress verify. - Run the project’s relevant end-to-end and, where applicable, Component Testing suites.
- Check both local development and CI, using the project’s recorded Node.js and browser environments.
- Investigate failures against the migration step just completed, fix configuration or behavior, then repeat verification and tests before continuing.
A verification command alone does not establish that application tests pass; both checks are part of the upgrade workflow.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Common migration failures and what to check
- Cypress does not load the old configuration: Cypress 10 no longer accepts
cypress.json. Move settings intocypress.config.jsorcypress.config.ts. - Plugin behavior is missing: move plugin event handling into
setupNodeEvents(); place Component Testing dev-server setup in its componentdevServerconfiguration. - Specs or support code are not found: review the selected test type, custom file locations, and
specPatternagainst the new configuration structure. - A component disappears during a test: in Cypress 11, repeated
cy.mount()calls remove the previous mounted component. Mount the components together if they must coexist. - Tests fail after moving to Cypress 12: look for dependencies on cookies, storage, or a page left over from another test. Recreate required state within the test, or intentionally configure isolation only if the suite requires it.
- Local and CI outcomes differ: compare the Node.js and browser environments with the requirements for the exact Cypress release and the project’s CI configuration.
Performance, reliability, and migration cost
The migration guide describes code and configuration changes, not a universal time estimate or performance result. Workload depends on the project’s legacy configuration, Component Testing framework APIs, test-state assumptions, and local/CI environments. Migrating one major at a time makes it easier to associate a failure with the change that preceded it and to verify the project before proceeding.
Best Value
Or skip the browser setup
If the goal is to capture a website screenshot while working on a Cypress migration, ScreenshotNeo is a separate website screenshot API and MCP server for developers; it does not perform the Cypress upgrade. A single GET request can return an image or PDF. For example, using cURL:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo documentation for API options. Cookie banners and consent overlays, newsletter popups, and chat widgets are removed before capture; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, with response headers indicating the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents. The free plan includes 1,000 screenshots a month without a card; paid plans start at $5 for 3,000 shots. Sign up for ScreenshotNeo’s free plan.
Sources and scope
The version-specific migration guidance here is based on Cypress’s official Upgrade Cypress migration guide, accessed October 3, 2026. The guide is general: the exact changes required depend on the project’s configuration, test code, framework, and environment.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




