5.1.0

Released Released on August 31, 2020

Features:

  • Introducing experimental full network stubbing support 🎉.

    • With experimentalNetworkStubbing enabled, the cy.route2 command is available. Addressed in #4176.

    • By using cy.route2() , your tests can intercept, modify, and wait on any type of HTTP request originating from your app, including XMLHttpRequests, fetch requests, beacons, and subresources (like iframes and scripts).

    • Outgoing HTTP requests can be modified before reaching the destination server, and the HTTP response can be intercepted as well before it reaches the browser.

    • See the cy.route2() docs for more information on how to enable this experiment.

  • cy.trigger() now accepts an eventConstructor option for specifying the constructor with which to create the event to trigger. Addresses #5650.

Bugfixes:

  • Improved warnings for when user is exceeding test limits of the free Dashboard plan. Addresses #8409.

  • Added retries to TestOptions types. Addresses #8405.

  • Added types for specType field on Cypress.spec. Addresses #8256.

  • Fixed a typo in type definitions. Addresses #8417.

  • Cypress now resolves and loads tsconfig.json for TypeScript projects starting from the plugins directory. Addresses #8359.

  • Fixed an issue where, if npm config's noproxy is set, unexpected behavior could occur. Addresses #8287.

  • Fixed an issue where nesting hooks within other hooks caused the test to never finish. Addresses #8350.

  • Fixed an issue in where tests would unexpectedly fail with a "Can't resolve 'async_hooks'" error. Addresses #8375.

  • Fixed an issue where return values from blob utils were mistaken for promises and could cause errors. Addresses #8365.

  • Fixed an issue with loading .mjs files. Addresses #8361.

  • Fixed an issue causing tests to run slowly in Electron. Addresses #7930.

  • Using .should with only chainer assertions will now throw an error. Addresses #883.

  • cy.trigger() now includes the view property in the event object when appropriate. Addresses #3686.

  • Fixed an issue where Cypress would not detect newer 64-bit installations of Chrome on Windows. Addresses #8425.

  • Fixed an issue where Cypress would not detect per-user Firefox installations on Windows. Addresses #8432.

Dependency Updates:

  • Updated dependency iconv-lite to version 0.6.2. Addresses #8387.

  • Updated dependency command-exists to version 1.2.9. Addresses #8388.

  • Updated dependency electron to version 9.2.1. Addresses #8436.