Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency cypress to v7 #986

Merged
merged 1 commit into from
May 5, 2021
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 5, 2021

WhiteSource Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
cypress 4.12.1 -> 7.2.0 age adoption passing confidence

Release Notes

cypress-io/cypress

v7.2.0

Compare Source

Released 04/26/2021

Features:

  • You can now navigate through folders in the Test Runner using the Tab keyboard input and open or close the folder's content with the Enter & Space keyboard inputs. Addresses #​3741.

Performance:

  • Fixed a regression in 7.0.0 that caused tests to run slowly, especially when run with constrained CPU resources. Fixes #​15853.
  • Fixed a regression in 7.0.0 causing decreased performance in Chromium browsers due to requesting screencast frames when video is disabled. Fixes #​16030.

Bugfixes:

  • Fixed a regression in 7.0.0 that caused the Test Runner to crash with an ERR_INVALID_ARG_TYPE type error. We now correctly detect a utf8 request body with multi-byte Unicode characters. Fixes #​15901.
  • Reusing cy.intercept() aliases will now work as expected. Fixes #​15823.
  • Fixed an issue in 7.0 where users could get a misleading "must pass a handler as the 3rd argument" error when using cy.intercept. Fixes #​16117.
  • cypress run-ct no longer hangs on Windows machines. Fixes #​15976.
  • Hovering over a command log without a snapshot will no longer cause the error Cannot read property 'name' of null. Fixes #​15816.
  • We now throw an error when attempting to .select() an <option> within a disabled <fieldset>. Fixes #​5951.
  • .type() will no longer change the value attribute of button-like inputs with type button, submit, reset, image, radio, or checkbox. Fixes #​15913.
  • Specs will now load when using a relative directory for componentFolder outside of the root project when specifying --project. Fixes #​16053.
  • The search input will now display when there are many component spec files. Fixes #​16089.

Misc:

  • Lodash types have been updated. Addressed in #​15860.
  • Types for the selector playground have been added. Addressed in #​15834.
  • Cypress.Cookies.defaults() now returns the correct type instead of void. Addresses #​15426.
  • .then() will show the correct type when a collection of HTMLElements is provided. Addressed in #​15869.
  • Improved types for cy.intercept(). Addressed in #​16167.

Dependency Updates:

  • Downgraded the Chromium browser version used during cypress run and when selecting Electron browser in cypress open from 89.0.4348.1 to 89.0.4328.0. This was done to address a performance regression introduced in 7.0.0. Addressed in #​16113.
  • Upgraded systeminformation from 5.3.1 to 5.6.4. Addressed in #​15819.
  • Replaced lolex with @sinonjs/fake-timers. Addressed in #​15595.

v7.1.0

Compare Source

Released 04/12/2021

Features:

  • The events before:spec, after:spec, before:run, and after:run now fire in interactive mode in addition to run mode. This requires the experimentalInteractiveRunEvents flag to be enabled. Addressed in #​15787.

Bugfixes:

  • Viewport configuration set in cypress.json is now correctly applied in the Component Test Runner. Fixes #​15899.
  • Running specs on Windows is now supported in the Component Test Runner. Fixes #​15842.
  • Fixed an issue where crashes in Cypress would cause a misleading "Unknown signal: true" error after the actual crash message. Fixes #​15943.
  • Fixed an issue introduced in 7.0.0 where requests with responses stubbed via cy.intercept(routeMatcher, staticResponse) would still be sent to the destination server. Fixes #​15841.

v7.0.1

Compare Source

Released 04/07/2021

Bugfixes:

  • Fixed a regression in 7.0.0 that caused the test runner not to check for updates. Fixes #​15829.
  • The component testing spec list search input no longer throws an exception when hitting Enter. Addressed in #​15833.
  • The preferred file opener modal no longer appears behind the command log. Addressed in #​15831.
  • Cypress no longer crashes in certain circumstances when running in Docker without --ipc=host. Fixes #​15814 and #​350.
  • Node.js warnings are no longer incorrectly printed to stderr in production builds of Cypress. Addressed in #​15817.
  • Cypress no longer prints a warning to stdout when the video cannot be found after a run. Addressed in #​15828.
  • A warning is no longer displayed when running a TypeScript spec without a tsconfig.json file present. Addressed in #​15828.

Misc:

  • The "New Spec File" in the Desktop GUI has a less pronounced style. Addressed in #​15835.

v7.0.0

Released 04/05/2021

Summary:

🎉 Introducing the Cypress Component Test Runner - now in alpha. Today's release includes a brand new test runner designed to replace your Node-based component tests. Our Component Test Runner tests your components in the browser, just like a user would. And, since it runs in the browser, you get to debug your components using your favorite developer tools. Read our Component Testing Guide for more details.

Breaking Changes:

Please read our Migration Guide which explains the changes in more detail and how to change your code to migrate to Cypress 7.0.

  • We introduced several breaking changes to cy.intercept(). See the cy.intercept() docs for full usage examples. Breaking changes:
    • Request handlers supplied to cy.intercept() are now matched starting with the most recently defined request interceptor. This allows users to override request handlers by calling cy.intercept() again. This matches the previous behavior that was default in cy.route(). Addresses #​9302.
    • cy.intercept() now automatically parses more JSON MIME types, including 'application/vnd.api+json'. You can now remove JSON.parse(req.body) or JSON.parse(res.body) from some tests that previously required it. Addresses #​14763.
    • Falsy values (with the exception of undefined) supplied as the body of a StaticResponse to cy.intercept() will now be JSONified and sent as the body. Previously, an empty string was sent instead. Addresses #​15234 and #​14205.
    • The matchUrlAgainstPath RouteMatcher property has been removed from cy.intercept().
    • The "substring match" from cy.intercept() URL matching has been removed. Previously, a URL would match if it contained the supplied string anywhere. Now, the URL (including querystring) only matches if it is an equality match or a minimatch.
    • The delay option for StaticResponses used with cy.intercept() has been removed. Please go back to using the delayMS option. Addresses #​15255.
    • cy.route2() was previously aliased to cy.intercept(). Now the alias cy.route2() has been removed. Please update usage of cy.route2() to cy.intercept(). Addressed in #​14709.
  • Component tests have been migrated to use a dedicated test runner and are bundled differently. See the Migration Guide for full examples on how to migrate. Addressed in #​14479.
    • Component tests will not be executed when running cypress open or cypress run. Now, they need to be executed by running cypress open-ct or cypress run-ct. Addressed in #​15701.
    • experimentalComponentTesting must be removed from yoru configuration file, cypress.json by default, or it will throw an error. Addressed in #​15701.
    • The file:preprocessor event is no longer used to compile component tests. Now, a dev-server:start event must be registered.
  • Cypress now catches uncaught errors and fails the test even if the application under test has defined window.onerror. Addresses #​8802.
  • Cypress now fails tests if there is an unhandled promise rejection in the application under test. Unhandled rejections will trigger the uncaught:exception event with the promise as the third argument. Addresses #​243.
  • Cypress now throws an error if the application under test redirects more than 20 times. The number of times allowed to redirect is configurable via the redirectionLimit config. Addresses #​14445.
  • The default preprocessor now targets a more modern version of ECMAScript. Addressed in #​15274.
  • We now enable contextIsolation by default in the Electron browser. You can override this option if needed within the before:browser:launch API. Addressed in #​15493.
  • Cypress.moment() has been removed. Please migrate to a different datetime formatter. See our recipe for example replacements. Addresses #​8714.
  • The bundled Node.js version was upgraded from 12.18.3 to 14.16.0. This could change the behavior of code within the pluginsFile when using the bundled Node.js version of Cypress. Addressed in #​15292.
  • Installing Cypress on your system now requires Node.js 12+. Addresses #​9545.
  • The default headless browser window size has been increased to 1920x1080 pixels to capture High-definition videos and screenshots. Addresses #​15752, #​15730, and #​15481.

Features:

  • A command log entry is now displayed when there is an uncaught exception or unhandled rejection. Addresses #​8236.
  • We added several features to cy.intercept(). See the cy.intercept() docs for full usage examples. Addressed in #​14543. New features:
    • There are new events on the req object for cy.intercept() including before:response, response, and after:response.
    • Response handlers (supplied via event handlers or via req.continue(cb)) supplied to cy.intercept() will be called in reverse order until res.send is called or until there are no more response handlers.
    • A new option, middleware, has been added to the RouteMatcher type. If true, the supplied request handler will be called before any non-middleware request handlers.
    • A new function, req.continue(cb), is available on request objects yielded by cy.intercept(). It is functionally the same as req.reply(cb) - the request will stop propagating to other event handlers, will be sent outgoing, and the response will be handled by cb.
    • cy.intercept() can now be called with a new overload: cy.intercept(url, routeMatcher, handler). routeMatcher will be merged with url, and the handler is required.
  • cy.visit() can now visit pages with application/xhtml* content-type. Addresses #​15738.
  • You can now pass runner specific configuration in order to pass different configuration values to component tests versus e2e tests. Addressed in #​15526.
  • There's a new keyboard shortcut (ctrl/cmd + f) to search spec files in the Test Runner based on your OS. Addresses #​6229.
  • You can now create a new spec file directly from the Test Runner in the Desktop. Addressed in #​15335.
  • cy.tick() now accepts a log option. Addresses #​15180.
  • The Cypress proxy now adds a keep-alive header to all proxy responses. Addressed in #​15292
  • Cypress no longer forces specific NODE_OPTIONS. Addressed in #​15292

Bugfixes:

  • The response.body of cy.intercept() is now correct after stubbing a response using res.send({ fixture }) in a req.continue callback or a before:response or response handler. Addressed in #​14543.
  • Fixed an issue where only the first matching alias for a route would yield a response object on cy.wait(). Fixes #​14522.
  • .click() will no longer fail with "coordsHistory must be at least 2 sets of coords" when specifying { multiple: true }. Fixes #​3738.
  • Cypress now checks visibility correctly when an element has CSS "position: sticky". Fixes #​14938.
  • After selecting a project in global mode and clicking the back button, Cypress will no longer crash. Fixes #​15089.
  • Errors Refused to apply style are gone from the console in open-ct during Component Testing. Addressed in #​15661.
  • Some memory leaks were fixed in @cypress/vue. Addressed in #​15275.

Misc:

  • The types for set-cookie allow string[], so the header's type has been changed to reflect this. Addresses #​15419.
  • The type definition for cy.writeFile() now allows 4 arguments. Addresses #​15353.
  • .then() will show the correct type when raw HTMLElements are provided. Addresses #​14875
  • The Cypress Studio icon now displays properly for tests with long titles. Addresses #​15182.
  • There were some minor improvements made to the UI when setting up a project in the Test Runner. Addressed in #​15665.

Dependency Updates

  • Upgraded Chrome browser version used during cypress run and when selecting Electron browser in cypress open from 87 to 89. Addressed in #​15292.
  • Upgraded bundled Node.js version from 12.18.3 to 14.16.0. Addressed in #​15292.
  • Upgraded electron from 11.3.0 to 12.0.0. Addressed in #​15292.

v6.8.0

Compare Source

Released 3/17/2021

User Experience:

  • Improved the specs list user interface with a new icon set and accessibility features when in Component Testing mode (alpha). Addressed in #​15513

Bugfixes:

  • Cypress will no longer exit with an error when recording a run to the Dashboard with empty specfiles. Fixes #​15512.
  • When using experimentalStudio, Cypress Studio the icon to add commands will now fully display on long test titles. Fixes #​15182.

v6.7.1

Compare Source

Released 3/15/2021

Bugfixes:

  • Interacting with an element that requires scrolling within an element with scroll-behavior: smooth no longer fails Cypress's actionability check. Fixes #​15453.
  • A regression in 6.7.0 has been fixed so that the projectId will be written correctly to the cypress.json file on initial creation without an extra config object. Fixes #​15497.

v6.7.0

Compare Source

Released 3/15/2021

Features:

  • The experimentalRunEvents configuration flag has been removed. You can now listen to before:run, after:run, before:spec and after:spec events in the plugins file without needing the experimentalRunEvents configuration option. See the before:run, after:run, before:spec and after:spec docs for more information. Addressed in #​15276.
  • When canceling a run from the Dashboard, previously only parallelized runs would cancel correctly. Now all recorded runs will respect cancelation and exit early. Addresses #​1691.
  • Test configuration is now captured and sent when recording to the Dashboard. Addresses #​15487.
  • Cypress now sends test details to the Dashboard at the beginning of a recorded run, so historical test code and other data can be provided to the Dashboard upfront. Addressed in #​14925.
  • The full stack trace from errors thrown in the preprocessor are now displayed. Addressed in #​15198.
  • Configuration values which are changed at runtime prior to tests running are now properly shown as resolved from the spec code within the Module API to indicate where the change originated from. Addresses #​15486.

Bugfixes:

  • FFmpeg will no longer error ("width not divisible by 2") during video recording in Chromium-family browsers, including Chrome, Electron, and Edge. Fixes #​3491 and #​15300.
  • cy.wait() no longer falsely returns a timeout when the user aborts an XHR. Fixes #​9549.
  • .clear() and .type('{selectall}{del}') now behave the same when they're used against elements that contain text inputs. Fixes #​8447.
  • When using experimentalStudio, Cypress Studio now records typing by using the value of the input rather than the keys that were pressed. Studio also no longer records pressing special keys (such as arrows or ctrl) except for Enter. Fixes #​15023.
  • Empty jQuery objects are now properly shown in error messages in the Command Log. Fixes #​14279.
  • Length assertions on DOM elements now properly show the user-defined assertion message if specified. Fixes #​14484.
  • Cypress no longer scrolls on mouse down event, fixes #​8279.

Misc:

  • "Test recordings" recorded to the Cypress Dashboard are now referred to as recorded "test results." Addresses #​15376.
  • Errors shown from plugins files now display top-aligned. Addressed in #​15347.

Dependency Updates:

  • Upgraded electron from 11.2.3 to 11.3.0. Addressed in #​15201.

v6.6.0

Compare Source

Released 2/18/2021

Features:

  • Cypress now extracts and sends CodeFresh CI default variables when recording to the Dashboard. Addresses #​4609

Dependency Updates:

  • Upgraded ramda to version 0.27.1. Addressed in #​14958.

v6.5.0

Compare Source

Released 2/15/2021

Performance:

  • Improved the startup time of cypress open and cypress run. Addresses #​15075.

Bugfixes:

  • Fixed an issue where tests would display as failed if an event (such as an XHR request) failed after the test was already completed. This only affects the display of the test and not what was reported in run mode, so it would not have had an effect on suites running in CI. Addresses #​14978.
  • Fixed a regression introduced in 6.4.0 that caused Electron to crash when opening outside links in the Command Log. Addresses #​14912.
  • Fixed an issue where browser paths with double backslashes would not work as expected on Windows. Addresses #​14719.
  • Fixed Microsoft Edge browser detection when passing a path on Windows. Addresses #​14716.
  • Fixed an issue where the types for Cypress.on did not support chaining. Addresses #​14991.
  • Fixed an issue where, when installing two Cypress instances simulataneously, the downloaded .zip could become corrupted and break the install process. Addresses #​4595.

Misc:

  • Expanded search bar in desktop GUI to fill the entire width. Addresses #​14830.
  • Added autoEnd to the types for LogConfig. Addresses #​9590.
  • We collect more variables from Bitbucket pipelines to correctly display the pull request information in the Dashboard. Addresses #​15081.

Dependency Updates:

  • Upgraded electron to version 11.2.3. Addresses #​15056.

v6.4.0

Compare Source

Released 2/1/2021

Features:

  • Added a command log entry for when a file is donwloaded. Addresses #​14749.
  • The delayMs option for cy.intercept() has been renamed to delay. delayMs will still work, but it is deprecated and will be removed in a future release. Addresses #​14822.

Bugfixes:

  • Fixed an issue with handling spec paths containing special characters. Addresses #​14659.
  • Fixed an issue where Cypress Studio would not prompt to start adding commands after visiting an inputted url. Addresses #​14688.
  • Fixed an issue where Cypress Studio could generate empty cy.type() commands. Addresses #​14684.
  • Fixed an issue where Cypress Studio prompts user to enter a URL even if an error has already occured. Addresses #​14686.
  • Fixed an issue where Cypress Studio would not reload tests with watchForFileChanges: false. Addresses #​14744.
  • Fixed an issue where Cypress studio would add a cy.click() before cy.type(). Addresses #​14685.
  • Fixed an issue where Cypress Studio could use the wrong selector for a click event. Addresses #​14658.
  • Fixed multi-select support for Cypress Studio. Addresses #​14743.
  • Improved the UI for command failures within Cypress Studio. Addresses #​14691.
  • The Selector Playground is now closed automatically when Cypress Studio is opened. #​14689.
  • Fixed an issue with cy.intercept where aliases set via req.alias containing a period character would not work as expected. Addresses #​14444.
  • Fixed an issue where delays set using cy.intercept would not work as expected. Addresses #​14446 and #​14511.
  • Reverted a change to how the Chrome DevTools Protocol is established. Instead of using stdio and then falling back to TCP, Cypress now only uses TCP to try to connect to Chrome DevTools Protocol. Addresses #​14819.
  • Fixed an issue causing a webpack compilation error when a browserslist is present in project root. Addresses #​8864.

Misc:

  • Added more details to the "no specs found" error. Addresses #​14532.
  • Added more resolved config property types. Addresses #​14392.
  • Added UTM parameters to external links. Addresses #​14741.

Dependency Updates:

  • Upgraded recast to version 0.20.4. Addresses #​14623.
  • Upgraded registry-js to version 1.13.0. Addresses #​14668.
  • Upgraded @cypress/get-windows-proxy to version 1.6.2. Addresses #​14711.
  • Upgraded systeminformation to version 4.31.1. Addresses #​14715.
  • Upgraded semantic-release to version 17.2.3. Addresses #​14713.
  • Upgraded electron to version11.2.1`. Addresses #​14764.

v6.3.0

Compare Source

Released 1/19/2021

Features:

  • Cypress Studio provides a visual way to generate tests within the Test Runner, by recording interactions against the application under test. Cypress Studio is an experimental feature that can be enabled by adding the experimentalStudio attribute to your configuration, cypress.json by default. Address #​73.
  • You can now test file downloads in Cypress without the download prompt displaying. Any files downloaded while testing file downloads will be stored in the downloadsFolder which is set to cypress/downloads by default. The downloadsFolder will be deleted before each run unless trashAssetsBeforeRuns is set to false. Addresses #​949.

Bugfixes:

  • When an uncaught exception is thrown outside a suite with an .only, the error will now correctly display in the Command Log. Fixes #​14455.
  • Cypress will no longer crash when no record key is provided to the --key flag when followed by other CLI flags. Fixed #​14593.
  • Extra screenshots will no longer be taken when tests are retried when there is a failure in an afterEach hook. Fixes #​9209.
  • Having waitForAnimations set to false no longer affects whether Cypress fires actions on inner elements. Fixes #​14370.
  • We fixed a regression in 5.0.0 that would cause string CYPRESS_ prefixed env variables containing commas to be parsed as multiple values. Fixes #​8818.
  • We fixed a regression in 4.9.0 where asserting have.value on an undefined subject would throw an error. Fixes #​14359.
  • We updated the CDP connection to attempt to use the stdio transport first with Chrome 72 and above, before falling back to using TCP. This should remediate issues causing sporadic "Cypress failed to make a connection to the Chrome DevTools Protocol after retrying" errors. Fixes #​6540, #​7450, #​8674, and #​8986.

Misc:

  • We removed several Chrome flags that are no longer supported. Addressed in #​14582.

Dependency Updates:

  • Replaced deprecated node-sass with sass. Addressed in #​14415.
  • Upgraded debug from 4.1.1 to 4.3.1. Addressed in #​14583.
  • Upgraded electron from 11.0.3 to 11.2.0. Addressed in #​14567.
  • Upgraded electron-builder from 22.8.0 to 22.9.1. Addressed in #​14493.
  • Upgraded shell-env from 3.0.0 to 3.0.1. Addressed in #​14622.
  • Upgraded uuid from 8.2.0 to 8.3.2. Addressed in #​14170.

v6.2.1

Compare Source

Released 1/4/2021

Bugfixes:

  • Test retries, when retrying on several failed tests, will no longer cause hanging during cypress run. Fixes #​9040.
  • multipart/form-data is no longer wrongly encoded when using cy.intercept(). This should prevent Unexpected end of multipart data errors on the back end service where the request was pointing to. Fixes #​9359.
  • cy.contains() no longer throws an error when a single quote is used inside its argument when RegExp. Fixes #​8626.
  • Passing capture: 'runner' to a cy.screenshot() command inside .within() now screenshots the entire Test Runner as expected. Fixes #​14253.
  • Cypress.dom.isJquery() now always returns a boolean instead of undefined sometimes. Fixes #​14278.
  • calledOnceWith and calledOnceWithExactly sinon matchers no longer throw an error when used within Cypress. Fixes #​9644.
  • We now pass --disable-backgrounding-occluded-windows as a default flag to Chrome to prevent backgrounding rendering when the Cypress window is occluded. Fixes #​9604.

Misc:

  • After login, if a name is undefined on your profile, the Test Runner will show the profile's email and link to instructions to update the name. Addresses #​14288.

Dependency Updates:

  • Upgraded devtools-protocol from 0.0.734984 to 0.0.839267. Addressed in #​14353.
  • Upgraded electron from 11.0.3 to 11.1.1. Addressed in #​14352.

v6.2.0

Compare Source

Released 12/21/2020

Features:

  • You can now listen to before:run and after:run events in the plugins file. See the before:run and after:run docs for more information. Addressed in #​14238 and #​14263.
  • You can now listen to before:spec and after:spec events in the plugins file. See the before:spec and after:spec docs for more information. Addressed in #​9646 and #​14178.
  • The Timed out retrying error message now displays the amount of time Cypress retried. Addresses #​5781.

Bugfixes:

Misc:

  • scrollBehavior is now an allowed type when passed as test configuration. Addresses #​9643.
  • The FileObject type for the file argument of the file:preprocessor event now includes the EventEmitter type. Addresses #​9276.

Dependency Updates:

  • Upgraded electron from 11.0.2 to 11.0.3. Addressed in #​9409.

v6.1.0

Compare Source

Released 12/07/2020

Features:

  • There's a new scrollBehavior configuration option that controls the viewport position when an element is scrolled prior to action commands. Possible values are 'top', 'bottom', 'center', 'nearest', and false, with 'top' being the default. scrollBehavior: false disables scrolling altogether. scrollBehavior can be specified in global configuration, test configuration or individual action commands via options. Addresses #​871 and #​4356.
  • The Tests tab in the Test Runner now orders folders before files. This matches the ordering of most IDEs' file explorers. Addresses #​7334.

Bugfixes:

  • Responses stubbed from cy.intercept() will now automatically set Access-Control-Allow-Origin and Access-Control-Allow-Credentials to permissive values unless explicitly overridden. Fixes #​9264.
  • The Cannot read property "fireChangeEvent" of undefined error will no longer throw during a race condition when using cy.intercept(). #​9170
  • HTTP responses that cannot have a body (like HTTP 304 and HTTP 204) can now be awaited using cy.intercept(). Fixes #​8934 and #​8999.
  • We fixed an issue where HTTP redirects could not be awaited using cy.intercept() unless dynamically intercepted. Addressed in #​9097.
  • Tests will no longer hang in certain situations when there's an error in a before() hook. Fixes #​9162.
  • We no longer strip / from URLs when they are explicitly passed with query paramaters. Fixes #​9360.
  • Fixed the regression in Cypress.dom.isVisible behavior for elements with position: fixed, addresses #​8998 and #​9031.

Deprecations:

Deprecations still work as before but will be removed from Cypress in a future release. We encourage you to update your code now to remove uses of deprecations.

  • Cypress.moment has been deprecated and will be replaced in a future release. Consider migrating to a different datetime formatter. Addresses #​8714.

Misc:

  • We collect more environment variables from Bitbucket to better detect reruns. Addresses #​9309.
  • waitForAnimations and animationDistanceThreshold types are now included for all actionable commands. Addresses #​8854.

Dependency Updates:

  • Upgraded mocha-junit-reporter from 1.23.1 to 2.0.0. Addressed in #​9528.

v6.0.1

Compare Source

Released 11/30/2020

Bugfixes:

  • Chromium based browsers on version 87 will no longer show recorded videos as frozen or blank. Fixes #​9265.
  • We fixed a regression introduced in 5.0.0 that would cause an Option 'sourceMap' cannot be specified with option 'inlineSourceMap' error to throw when setting sourceMap in your tsconfig. Fixes #​8477.
  • cy.screenshot() no longer throws an "offset" is out of range error when Cypress attempts to crop the image. Fixes #​2034.
  • cy.screenshot() types won't mistakenly display the command as deprecated. Fixes #​9303.
  • Lower-cased HTTP methods can now be used with cy.intercept(). Fixes #​9313.

v6.0.0

Compare Source

Released 11/23/2020

Summary:

Cypress now offers full network stubbing support with the introduction of the cy.intercept() command (previously cy.route2()). With cy.intercept() your tests can intercept, modify and wait on any type of HTTP request originating from your app.

Breaking Changes:

Please read our Migration Guide which explains the changes in more detail and how to change your code to migrate to Cypress 6.0.

  • Cypress now always throws an error when asserting on an element that doesn't exist in the DOM (unless you're asserting that the element should not.exist). Assertions such as not.visible, not.contains, not.have.class, etc will now fail when used on non-existent DOM elements. Addresses #​205.
  • DOM elements where the CSS style (or ancestors) are opacity: 0 are no longer considered visible. However these are still considered actionable and "any action commands" interacting-with-elements#Actionability used to interact with the element will perform the action. This matches browser's implementation on how they regard elements with opacity: 0. Addresses #​4474.
  • The type yielded by cy.wait(alias) has changed in order to support use of cy.intercept(). Addressed in #​9266.
  • The experimentalNetworkStubbing option has been removed and made the default behavior. You can safely removed this configuration option. Addressed in #​9185.
  • When using .type() and .click() on elements inside a contenteditable element, the events are now properly triggered on the inside elements. This may cause unintended consequences if you were relying on the previous behavior. Addressed in #​9066.
  • We removed several deprecation errors around APIs that were removed in versions of Cypress prior to 4.0.0. This will not cause any changes for anyone upgrading from a 4.0+ version of Cypress. For a full list of all APIs affected see #​8946.
  • We updated our HTTP status codes and reason phrases to match Node.js http.STATUS_CODES. If you have code that relies on a reason phrase, then this could affect you. Addressed in #​8969.
  • JSON request and response bodies captured by cy.intercept() are now automatically parsed, removing the need to manually do JSON.parse. Addressed in #​9280.

Deprecations:

Deprecations still work as before but will be removed from Cypress in a future release. We encourage you to update your code now to remove uses of deprecations.

  • cy.server() and cy.route() have been deprecated. In a future release, support for cy.server() and cy.route() will be moved to a plugin. We encourage you to use cy.intercept() instead. Addressed in #​9185.
  • experimentalFetchPolyfill has been deprecated. We encourage you to use cy.intercept() to intercept requests using the Fetch API instead.
  • cy.route2() was renamed to cy.intercept(). We encourage you to update usages of cy.route2() to use cy.intercept(). Addressed in #​9182.

Features:

  • The new cy.intercept() command can be used to manage the behavior of HTTP requests at the network layer. Addressed in #​9182.
  • We now pass —disable-dev-shm-usage to the Chrome browser flags by default. This will write shared memory files into /tmp instead of /dev/shm. If you're passing this flag in your plugins file, you can now remove this code. Addresses #​5336.
  • A warning is now displayed when passing invalid configuration keys through the CLI. Addresses #​428.
  • The cypress version command now also displays the current Electron and bundled Node versions. Addresses #​9180.
  • The cypress version command now accepts a --component flag that allows you to print the version of specific components of Cypress. ie Electron, Node, etc. Addresses #​9214.

Bugfixes:

  • We fixed a regression introduced in 3.5.0 that would cause .type() to not type the entire string when focus was called away from the target element. Fixes #​9254.
  • .type() and .click() now properly work on elements inside a contenteditable element. Fixes #​2717 and #​7721.
  • We fixed a regression introduced in 5.6.0 that would cause the Test Runner to crashes and display a white page when switching tabs while tests are running. Fixes #​9151.
  • Fixed an issue where Content-Length for cy.route2 request bodies could be incorrectly recalculated. Fixes #​9166.

Documentation Changes:

Misc:

  • Added the type of redirects and changed redirectedToUrl optional for Response types. Addresses #​9275.

Dependency Updates

  • Upgraded Chrome browser version used during cypress run and when selecting Electron browser in cypress open from 85 to 87. Addressed in #​9222.
  • Upgraded bundled Node.js version from 12.16.3 to 12.18.3. Addressed in #​9222.
  • Upgraded electron from 10.1.5 to 11.0.2. Addressed in #​9222.

v5.6.0

Compare Source

Released 11/09/2020

Features:

  • You can now dynamically add aliases for requests intercepted via cy.route2(). See an example. Addresses #​387.
  • You can now run all integration specs or all component specs separately (or a filtered list of specs) by clicking the appropriate button in the Test Runner in the Tests tab. Addresses #​8203.
  • Added a new modifier syntax to cy.type(). You can now type shortcuts like {ctrl+z}. Addressed in #​5694.
  • We now show a modal with release notes when available when there is a new version of Cypress. Addressed in #​9006.
  • In the Test Runner's Settings and Runs tab you can now quickly copy the project id configuration and record key using a copy to clipboard icon. Addresses #​9002.

Bugfixes:

  • Fixed a regression introduced in 4.12.0 where snapshotting caused images to load too many times. Fixes #​8679.
  • Using cy.visit() on sites with content-type of text-html followed by parameters (like text/html;charset=utf-8) will no longer throw an error about visiting a site with an invalid content-type. Fixes #​8506
  • The Cannot access 'continueSent' before initialization error will no longer throw when using cy.route2(). Fixes #​8926.
  • Awaiting a request body when providing a static response stub in cy.route2() should now work properly. Addressed in #​9059.
  • The way that intercepted cy.route2() requests are displayed in the Command Log has been improved, including showing the progress bar correctly. Addresses #​9053.
  • The Cannot read property 'replace' of undefined error will no longer throw when attempting to generate the stack trace from an error thrown in the application. Fixes #​7915.
  • Stack traces in the Command Log originating from application errors where the location is unavailable will no longer show as a clickable link to open in IDE. Fixes #​9106.
  • When using the fixture: prefix as a stubbed response to cy.route(), JSON fixtures containing only a number or boolean will no longer throw an error. Fixes #​4899.
  • Fixed an issue causing failed subresource integrity checks for external scripts. Fixes #​8983, #​9049, and #​8992.

Misc:

  • Typings for .invoke() and .its() now allow for a timeout option. Addresses #​9079.
  • Typings for cy.task() now allow for parameterizing the task return type. Add

Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻️ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box.

This PR has been generated by WhiteSource Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/cypress-7.x branch 2 times, most recently from ba1cd27 to 6ffc3db Compare April 13, 2021 00:39
@YOU54F YOU54F merged commit db99b3f into master May 5, 2021
@renovate renovate bot deleted the renovate/cypress-7.x branch May 5, 2021 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants