Released 6/8/2020
Features:
- You can now apply certain test configuration for the duration of a suite or test by passing a configuration object to the test or suite as the second argument. Addresses #7167.
Cypress.isBrowser()
has been expanded to allow for new matcher arguments to assist in filtering matching browsers. Addresses #7168.- We now display the currently running file at the top of the Test Runner's Command Log. That file can be opened in your preferred file opener by clicking the file. Addresses #7506.
- We added experimental shadow DOM support through the
experimentalShadowDomSupport
option. See the Experiments page for more information. Addresses #144.
Bugfixes:
- Upon domain navigation,
before
andafter
hooks defined in completed suites no longer erroneously rerun. Fixes #1987. - Errors thrown within root level
after
hooks now correctly display in the Test Runner's Command Log. Fixes #2296. - We fixed a regression in 4.6.0 where an XHR response without a body would cause Cypress to throw
Cannot read property '__error' of null
. Fixes #7518. - We fixed a regression in 4.6.0 where using
cy.visit()
to an authenticated URL would error withRequest cannot be constructed from a URL that includes credentials: /__cypress/runner/./wasm/mappings.wasm
Fixes #7481. - We now properly load code from the
pluginsFile
orsupportFile
when they are TypeScript files. Fixes #7459. - utf-8 characters now properly display within error code frames. Fixes #7507.
- Errors thrown in a
cy.on('fail', fn)
fail handler now display a stack trace and code frame pointing to the origin of the error. Fixes #7512. .click()
now properly clicks on wrapped inline elements when the first child element in the parent element has no width or height. Fixes #7434 and #7012.cy.wrap()
now properly respects thetimeout
option. It also better handles situations when passed a promise that never resolves. Fixes #5980.- When
experimentalComponentTesting
is enabled, Cypress will no longer exit with SIGABRT in certain situations. Fixes #7572. - We fixed a regression in 3.8.0 where the "Tests" button in the Test Runner wouldn't take you back to the tests list in all browsers. Fixes #5948.
- Using the
S
shortcut during.pause()
no longer does anything. This prevents the Test Runner from getting into a 'stuck' state. Fixes #6867.
Misc:
- The design of errors and some iconography displayed in the Test Runner's Command Log have been updated. Addresses #7499, #7542 and #7563.
- The commands in the Test Runner's Command Log now display in the same casing as the original command. Addresses #5773.
- The navigation links in the Test Runner now display the correct CSS styles when focused. Addresses #7491.
Cypress.config()
now has TypeScript types for thetaskTimeout
option. Addresses #7531.- TypeScript types for
cy.screenshot()
options andCypress.log()
have been updated to be more accurate. Addresses #7445. - TypeScript types for
Cypress.automation
have been added. Addresses #7519. - We now display a more accurate error message when passing a browser to the
--browser
flag that is not supported by Cypress. Addresses #6979. - We're continuing to make progress in converting our codebase from CoffeeScript to JavaScript. Addresses #2690 in #7588 and #7591.
Dependency Updates: