Experiments
If you'd like to try out what we're working on in Cypress, you can enable beta features for your project by turning on the experimental features you'd like to try.
⚠️ The experimental features might change or ultimately be removed without making it into the core product. Our primary goal for experiments is to collect real-world feedback during their development.
Configuration
You can pass the Cypress configuration options below to enable or disable experiments. See our Configuration Guide on how to pass configuration to Cypress.
| Option | Default | Description | 
|---|---|---|
| experimentalFetchPolyfill | false | Automatically replaces window.fetchwith a polyfill that Cypress can spy on and stub. Note:experimentalFetchPolyfillhas been deprecated in Cypress 6.0.0 and will be removed in a future release. Consider using cy.intercept() to interceptfetchrequests instead. | 
| experimentalInteractiveRunEvents | false | Allows listening to the before:run,after:run,before:spec, andafter:specevents in the setupNodeEvents function during interactive mode. | 
| experimentalModifyObstructiveThirdPartyCode | false | Whether Cypress will search for and replace obstructive code in third party .jsor.htmlfiles. NOTE: Setting this flag removes Subresource Integrity (SRI). | 
| experimentalSessionAndOrigin | false | Enables cross-origin and improved session support, including the cy.origin()andcy.session()commands. This enablestestIsolation=strictby default. Only available in end-to-end testing. | 
| experimentalSourceRewriting | false | Enables AST-based JS/HTML rewriting. This may fix issues caused by the existing regex-based JS/HTML replacement algorithm. See #5273 for details. | 
History
| Version | Changes | 
|---|---|
| 10.4.0 | Added support for experimentalModifyObstructiveThirdPartyCode. | 
| 9.6.0 | Added support for experimentalSessionAndOriginand removedexperimentalSessionSupport. | 
| 8.2.0 | Added support for experimentalSessionSupport. | 
| 7.1.0 | Added support for experimentalInteractiveRunEvents. | 
| 7.0.0 | Removed experimentalComponentTestingand made it the default behavior. | 
| 6.7.0 | Removed experimentalRunEventsand made it the default behavior. | 
| 6.3.0 | Added support for experimentalStudio. | 
| 6.2.0 | Added support for experimentalRunEvents. | 
| 6.0.0 | Removed experimentalNetworkStubbingand made it the default behavior when using cy.intercept(). | 
| 6.0.0 | Deprecated experimentalFetchPolyfill. | 
| 5.2.0 | Removed experimentalShadowDomSupportand made it the default behavior. | 
| 5.1.0 | Added support for experimentalNetworkStubbing. | 
| 5.0.0 | Removed experimentalGetCookiesSameSiteand made it the default behavior. | 
| 4.9.0 | Added support for experimentalFetchPolyfill. | 
| 4.8.0 | Added support for experimentalShadowDomSupport. | 
| 4.6.0 | Added support for experimentalSourceRewriting. | 
| 4.5.0 | Added support for experimentalComponentTesting. | 
| 4.3.0 | Added support for experimentalGetCookiesSameSite. |