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

Update dependency cypress to v3.8.0 #327

Merged
merged 1 commit into from
Dec 13, 2019
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 23, 2019

This PR contains the following updates:

Package Type Update Change
cypress devDependencies minor 3.4.1 -> 3.8.0

Release Notes

cypress-io/cypress

v3.8.0

Compare Source

Released 12/12/2019

Features:

  • Chrome can now be run in headless mode by using cypress run --headless --browser chrome. Addresses #​832.
  • Cypress now accepts a --tag argument to be used to identify separate runs. Any tags assigned will be shown on the run in the Cypress Dashboard. Addresses #​2561.
  • The commands .its() and .invoke() now accept an options object to allow changing logging options. Addresses #​1450.
  • Cypress will now attempt to use the unzip binary during cypress install before trying the slower, Node.js-based unzipping method. Addresses #​3803.
  • Upgraded Electron to 7.1.4. This bumps the internal Node version to 12.8.1 and the internal Chromium version to 78.0.3904.113.

Bugfixes:

  • We fixed a regression in 3.5.0 where Cypress would crash on Windows when trying to pass a url through --config or --env command line flags. Fixes #​5466.
  • We fixed a regression in 3.5.0 where a supplied Cookie header during "cy.visit() visit or cy.request() would be overwritten by the Cookie header generated from the browser's cookie store. Fixes #​5894.
  • We fixed a regression in 3.5.0 where cy.getCookie() would incorrectly filter cookies by their domain, leading to unexpected results. Fixes #​5656.
  • We fixed a regression in 3.5.0 where calling .type({ force: true }) on hidden inputs would not type the correct characters. Fixes #​5835.
  • We fixed a regression in 3.5.0 where .type() was not respecting previous selections if the current value of the input was the same as the key. This also fixed an where .type() would not respect previous selections in non-selectionRange inputs (like email or number inputs). Fixes #​5703.
  • During visibility checks, Cypress now properly evaluates a DOM element transformed by scale(0) or rotateY(90deg) as not visible. Fixes #​723.
  • Fixed a bug where the specs list in interactive mode would not refresh when files are changed on disk. Fixes #​5933.
  • env configuration option displays properly within the settings panel. Previously, setting env options would incorrectly render "undefined" as the value. Fixes #​5859.

Misc:

  • We removed the max viewport size and lowered min viewport size to 0 for cy.viewport() Addresses #​5871 and #​5892.
  • The Test Runner now shows a non-Chrome logo for browsers passed in via config.browser that are not of the Chrome family. It also supports showing the Firefox logo (in preparation for Firefox browser support). Fixes #​5745.
  • We updated the look of some of our icons. Addressed in #​5822.
  • We're continuing to make progress in converting our codebase from CoffeeScript to JavaScript. Addresses #​2690 in #​5643.
  • cy.request will now automatically encode special characters in the request URL, including Unicode. Addresses #​5274.
  • You can pass additional Electron launch command line arguments using environment variable ELECTRON_EXTRA_LAUNCH_ARGS. Addresses #​5807.

Dependency Updates:

  • Upgraded ansi-escapes from 4.2.1 to 4.3.0. Addressed in #​5815.
  • Upgraded electron-context-menu from 0.11.0 to 0.15.1. Addressed in #​5495.

v3.7.0

Compare Source

Released 11/27/2019

Features:

Bugfixes:

  • Fixed a regression in 3.5.0 where a cy.visit that changes superdomain would incorrectly clear cookies of other domains. Fixes #​5756.
  • Fixed a regression in 3.5.0 where cookies set in a redirect on a cy.visit or in a cy.request with a custom Domain that is not a subdomain of the current domain would fail to set. Fixes #​5656.
  • Fixed a regression introduced in 3.5.0 which caused cy.type to send duplicate modifier keys. Fixes #​5622.
  • We fixed a regression in 3.6.1 where cy.request() with followRedirect: false would fail if a Set-Cookie header was present in the response. Fixes #​5654.
  • The context of window is no longer undefined within the application under test when called within a setTimeout during strict mode. Fixes #​5707.
  • Cypress now captures the SHA of builds generated through Travis CI during pull requests. This should resolve issues with Cypress status checks sometimes not running within GitHub Integration. Fixes #​5728.
  • Cypress now automatically strips double quotes from --ci-build-id and group flag arguments during cypress run. Fixes #​5686.
  • Assertions printed in the Command Log now correctly identify integers from string integers. Fixes #​25.
  • Empty spaces are now accurately reflected in the Command Log within assertions. Fixes #​1360.
  • Keys printed in the Command Log when using the have.all.keys assertion now correctly display. Fixes #​753.
  • We fixed an issue where Cypress would throw an error when using cy.visit() on a cleverapp.io domain. Fixes #​5722.
  • Fixed a bug where fixtures consisting only of null would cause an error. Fixes #​472.
  • Fixed a bug where, if the Test Runner child process is killed with a signal and does not exit normally, the npm CLI process would not exit with an error. Fixes #​5808.

Misc:

  • Added a new, more specific error message when an item is not visible because it has position: fixed and is being overflowed over. Addresses #​1379.
  • cy.visits that cause a superdomain change will now result in 2 requests to the origin server. This should not affect tests, as tests will still re-run on a superdomain change. This is a side-effect of the fix for #​5756.
  • The configuration object returned from the plugins file is now validated and will throw a helpful error message when invalid. Addresses #​5712.
  • The configuration panel under Settings in the Test Runner now has a white background for better readability. Also each configuration option with nested properties is now collapsible. Addressed in #​5068.

Dependency Updates:

  • Upgraded parse-domain from 2.0.0 to 2.3.4. Addressed in #​5726.

v3.6.1

Compare Source

Released 11/08/2019

Bugfixes:

  • The Electron browser no longer hangs when testing applications that have a prompt in a beforeunload handler. Fixes #​2118.
  • We fixed a regression in 3.5.0 where HTTP redirects could cause strange behavior, including cookies not being set as expected, leading to authentication issues and other problems. Fixes #​5436 and #​5432.
  • When using cy.setCookie() with the same options Object, Cypress now correctly sets the new cookie instead of the one passed into a previous cy.setCookie(). Fixes #​2701.
  • We fixed a regression in 3.5.0 where cy.clearCookie() would not act as expected when using certain baseUrls. Fixes #​5453.
  • Cypress no longer crashes with the error Failed to parse or set cookie named "xxx" when loading certain websites. Fixes #​4990.
  • Cypress now sends the expected headers or request body in a cy.visit() to an HTTPS URL using the default port, 443. Fixes #​5367.
  • We fixed a regression in 3.6.0 where Cypress would crash with TypeError: Cannot read property 'length' of null on some network requests. Fixes #​5585.
  • We fixed a regression in 3.5.0 that caused the red target to be rendered incorrectly when specifying offset coordinates to .click(). Fixes #​5635.
  • We fixed a regression in 3.6.0 that was causing an incorrect element to receive the click event during action commands. Fixes #​5578.
  • We fixed a regression in 3.5.0 causing text after using modifier keys in .type() to not be typed. Fixes #​5622.
  • Elements with backface-visibility: hidden; are now accounted for when asserting on the elemtent's visibility. Fixes #​2985.
  • We fixed a bug where a failed Cypress commands would incorrectly throw cannot read property 'replace' of undefined if the error's stack was undefined. Fixes #​1669.
  • The 'Log In' modal within Cypress when setting up a project now correctly closes when manually closed. Fixes #​5631.

Misc:

  • We improved the user experience around inspecting events fired during .click() and .type() commands within the console. Addresses #​5553.
  • We increased the timeout when connecting to the "Developer Tools Protocol" from 5 seconds to 20 seconds and also added logging for when the connection takes longer than 5 seconds. Addresses #​5610.
  • There is no longer a warning about Promise.defer appearing in stderr when running with video recording enabled. Addresses #​5611.
  • Types for .rightclick() and .dblclick() have been updated to correctly reflect their accepted options. Addresses #​5617.
  • We're continuing to make progress in converting our codebase from CoffeeScript to JavaScript. Addresses #​2690 in #​5556

v3.6.0

Compare Source

Released 10/31/2019

Features:

  • testFiles now also accepts an Array of glob patterns when specifying what test files to load in configuration. Addresses #​5401.

Bugfixes:

  • We fixed a regression in 3.5.0 where the maximum size of an HTTP header or body in a stubbed cy.route() was limited to 8kb causing requests to fail with a 431 HTTP error. Fixes #​5431.
  • We fixed a bug where certain types of uncaught errors originating from the application under test would not route through the uncaught:exception handler, and thus could not caught and ignored. These errors will also now correctly indicate that they came from application code. Fixes #​987.
  • We fixed a regression in 3.5.0 that would throw an error during cypress verify when running as a non-root user on a non-Windows machine. We now always set the --no-sandbox flag when verifying in Electron, even when running as a non-root user. Fixes #​5434.
  • We fixed a regression in 3.5.0 where sometimes cookies were not set on the correct URL during a redirect inside of a cy.visit() or cy.request(). Fixes #​5432.
  • We fixed a regression in 3.5.0 causing environment variables containing unicode values to be incorrectly resolved when read via Cypress.env(). Fixes #​5435.
  • We fixed a regression in 3.5.0 that prevented use of .click() or .type() inside of an iframe element. Fixes #​5449. Fixes #​5435.
  • We now throw the proper error message when an element cannot be interacted with due to being covered by an element with position:fixed. Fixes #​5430.
  • We fixed a regression in 3.5.0 that caused some click events to not be sent to the correct elements during .click(). Fixes #​5459.
  • We updated .type() to properly respect focus selection changes during typing. Fixes #​5456.
  • We fixed a regression in 3.5.0 that caused selected text to be overwritten while typing a modifer key during .type(). Fixes #​5439.
  • We now send all the proper events during .type() to input elements with type date, time, and datetime-local so that it now behaves as it did prior to 3.5.0. Fixes #​5476.
  • We now properly render iframe placeholder content when previewing DOM snapshots. Fixes #​5295.

Misc:

  • We no longer log the default option {multiple: true} in the Command Log or the console during cy.dblclick(). Addresses #​5406.
  • The text color of inactive tabs within the Cypress Chrome browser has been set to white for better readability. Addresses #​1661.

Dependency Updates

  • Replaced express-handlebars with squirrelly to reduce dependency size. Addressed in #​5521.
  • Upgraded graceful-fs from 4.2.0 to 4.2.3. Addressed in #​5497.

v3.5.0

Compare Source

Released 10/23/2019

Features:

  • We now record video during cypress run in Chrome, Chromium, and Canary browsers. This requires passing the name or path of the Chrome browser to the --browser flag. Addresses #​4608.
  • There is a new .rightclick() command to right click on DOM elements. Addresses #​53.
  • Cypress now accepts a --config-file argument to specify a different file to be used for Cypress configuration. You can also pass false to the --config-file to not use any configuration file. Addresses #​1369.
  • You can now use your system's Node version by setting the nodeVersion to system in your configuration. This Node version will be used to build files in your integrationFolder and "supportFile" configuration#Folders-Files and also be used to execute code in your "pluginsFile" configuration#Folders-Files. If not set, Cypress will continue to use the Node version bundled with Cypress. Addresses #​4432.
  • ".dblclick() dblclick now accepts position, x, and y arguments. Addresses #​116.
  • ".dblclick() dblclick now accepts force and multiple in its options. Addresses #​116.
  • .screenshot() now accepts a padding argument when screenshotting elements that will alter the dimensions of the screenshot of the element. Addresses #​4440.
  • cy.visit() now accepts a qs option representing an object of query paramaters to be used in the URL. Addresses #​5034.
  • cy.viewport() now allows for viewport sizes up to 4,000 pixels. Addresses #​5181.
  • cy.viewport() accepts new size presets for iphone-xr, iphone-x, samsung-s10 and samsung-note9. Addresses #​4967.
  • Passing a ~ to CYPRESS_CACHE_FOLDER will automatically resolve to the user's home directory. Addresses #​5386.

Bugfixes:

  • ".dblclick() dblclick and .click() now fire all appropriate mouse events including mouseover, mousemove, mouseout, pointerdown, pointerup, and pointermove. Fixes #​1016, #​1847, #​2045, #​2521, #​2768, #​2928, #​2957, and #​3224.
  • We updated ".dblclick() dblclick to follow the same actionability checks as .click(). Fixes #​3798.
  • Coordinates clicked during .click() are now correct if the element being clicked is within an iframe. Fixes #​4347.
  • We now allow .type() to be used on any DOM element. The element will receive all of the type events. Fixes #​2166 and #​3661.
  • If a typeable element gains focus during .type(), Cypress now continues typing into the newly focused element. Fixes #​2240.
  • We now correctly borrow the property getter for maxLength when using .type() on an input. Fixes #​4587.
  • We fixed an issue where datetime-local inputs would not have their value updated during .type(). Fixes #​2613.
  • .type() now allows you to type - into number inputs with text selection. Fixes #​4767.
  • We now fire an input event when using .type() typing {enter} inserts a newline. Fixes #​4870.
  • We no longer input text when non-{shift} modifier keys are typed in .type(). Fixes #​5424.
  • We now properly send the code property during keyboard events triggered during .type(). Fixes #​3722
  • Cypress now sends screenX and screenY properties to events triggered using .trigger(). Fixes #​3187.
  • We fixed a bug where Cypress could not intercept traffic sent through cy.visit() to IP addresses over HTTPS, leading to ERR_SSL_VERSION_OR_CIPHER_MISMATCH errors. Fixes #​771.
  • We fixed a bug introduced in 3.3.0 where some HTTPS sites failed to load during cy.visit() and cy.request() with a "handshake failed" error. Fixes #​4394.
  • We fixed a bug where ECC SSL Certificates were not supported during cy.visit() that was introduced in 3.3.0. Fixes #​4368.
  • We fixed an issue introduced in 3.4.0 that would cause the Selector Playground to not properly highlight the currently hovered element. Fixes #​4872.
  • Cypress.env() now escapes <script> tags in the configuration file. Fixes #​4952.
  • Cypress now properly handles converting responses of content-type application/vnd.api+json to JSON. Fixes #​5165.
  • XHR responses in cy.route() that exceed 80kb in size no longer fail with an ERR_EMPTY_RESPONSE error. Fixes #​76.
  • Cypress no longer crashes with dest.end errors on Windows machines. Fixes #​2181.
  • The onFocus event no longer incorrectly fires on hidden elements. This fixes an issue introduced in 3.3.2. Fixes #​4898.
  • You can now call .click() on inputs or textareas that are readonly. This fixes an issue introduced in 3.4.1. Fixes #​4874.
  • Cypress no longer crashes with a "port" option should be a number or string error when receiving an erroneous HTTP CONNECT. Fixes #​3250.
  • Cypress tests now timeout if there are no Cypress commands enqueue and the done() callback is not called within the commandTimeout. Fixes #​1075, #​2478, #​3349, and #​4790.
  • We fixed a bug where Cypress would exit with an ENOTCONN error at the end of a test run when using Node >12.11.0 on Windows OS. Fixes #​5241.
  • We fixed a bug where the Chrome policy warnings introduced in 3.4.0 would not appear. Fixes #​4986.
  • We improved the way that cookies are handled for Chrome browsers. This fixes an issue when parsing cookies that were set with a domain beginning with a . in Chrome 77. Fixes #​5142 and #​5206.
  • We fixed a bug when visiting an application that does an HTTP request to a .js file containing Unicode transferred using Content-Encoding: gzip that could cause the JavaScript file to become corrupted. Fixes #​1746.
  • We now normalize the Cypress cache folder to resolve in the current folder and not with respect to the node_modules/cypress folder. Fixes #​2364.

Misc:

  • Cypress now displays a more precise error message when checking an element's visibility if an element is detached from the DOM. Addresses #​4946.
  • We increased the timeout to wait for Xvfb to start from 5 seconds to 30 seconds. This should resolve some issues where the error Could not start Xvfb was being thrown because Xvfb could not start within the allowed time. Addresses #​5110.
  • We now warn when using cypress run from the binary directly (not from an npm module) since this is not its intended use. Addresses #​1573.
  • We now warn on cy.visit('file://...) to explain that this url format is not supported and suggest visiting a relative HTML file. Addresses #​4452.
  • Setting the reserved CYPRESS_ENV environment variable will now throw an error. Addresses #​1621.
  • We now throw a better error when passing in an Object to the browser argument of the Browser Launch API explaining that a String is expected instead. Addresses #​4966.
  • An error will now be thrown if an invalid name or value is supplied to cy.setCookie(), matching the RFC 6265 compliant validation of cookie names and values. Addresses #​5206.
  • Passing an invalid type to the 2nd argument of cy.get() now throws an error explaining that an options Object is expected. Addresses #​2953.
  • We now throw a more helpful error message during cy.screenshot() that would result in a screenshot with 0 width or height. Addresses #​5149.
  • Stdout printed during cypress run no longer truncates text such a filenames and instead wraps the text to fit within the width of the terminal. Addresses #​4977.
  • We now display up to 2,000 characters of HTTP property values within error messages during cy.request() errors. Addresses #​3145.
  • Cypress now always considers localhost to be in NO_PROXY. To make Cypress send traffic for localhost through the proxy, you will now have to pass <-loopback> in NO_PROXY. Addresses #​4780.
  • We changed the way cookies are set in cy.visit() to more closely match the browser's behavior when setting cookies, particularly when using fetch with cookies. Addresses #​4433.
  • We've added more flags to send to Chrome upon launch that should help with issues encountered during browser automation including --disable-backgrounding-occluded-window, --disable-breakpad, --disable-ipc-flooding-protection, --password-store=basic, and --use-mock-keychain. Addresses #​5132 and #​3633.
  • Scrolling the specs list now only scrolls the list of spec files and no longer scrolls the search and filter bar. Addresses #​4904.
  • We fixed some layout issues within the Test Runner that were introduced in 3.4.1. Addresses #​4888, #​4912, and #​4959.
  • The counter badge for spies and stubs no longer appears visually cut off. Fixes #​4822.
  • TypeScript 3.6.2 no longer errors due to outdated jQuery types. Addresses #​5065.
  • We updated types for Cypress.Commands.overwrite() to not allow an options object as an argument. Addresses #​5341.
  • We added failures and message types when a run fails using the Module API. Addresses #​5335.
  • We're continuing to make process in converting our codebase from CoffeeScript to JavaScript. Addresses #​2690 in #​4869, #​4906, #​5096, #​5107, #​5156, #​5173, and #​5352.

Documentation Changes:

  • Added a .rightclick() doc.
  • Added a Webinars doc containing videos of all of the official Cypress webcasts.
  • Updated the .dblclick() doc to include new position, x, and y arguments plus force and multiple options.
  • Added the --config-file argument to Command Line and Module API doc.
  • Added the nodeVersion argument to Configuration doc and mentioned its uses in the Plugins Guide and Writing a Plugin doc.
  • Updated all docs to mention 'configuration file' instead of static cypress.json file since this is not configurable via a --config-file argument.
  • Added qs option to cy.visit() with examples.
  • Added padding option to cy.screenshot() with examples.
  • Updated the cy.viewport() doc to have a max viewport size of 4000.
  • Added newly supported viewport sizes to the cy.viewport() doc.
  • Documented new keyboard shortcuts in the Test Runner doc.
  • Added a new section on troubleshooting problems with Xvfb to the Continuous Integration doc.
  • Added a section to our Debugging doc about our cypress-fiddle plugin used for playing around with small test cases.
  • Added a section to our Debugging doc explaining how to patch an installed version of Cypress.
  • Mention not needing to decode portions of the url in the cy.route() doc.
  • Mention that the file:// prefix is not supported in the cy.visit() doc.
  • Add a note about when passing <-loopback> in NO_PROXY is necessary in the Proxy Configuration doc.
  • Updated our Dashboard docs to include screenshots containing our new Dashboard navigation design.
  • We have some newly translated documentation in Portuguese. If you'd like to help in translating more, please open a pull request in our documentation repo.

Dependency Updates

  • Upgraded Chrome browser version used during cypress run and when selecting Electron browser in cypress open from 61 to 73. Addressed in #​4720.
  • Upgraded electron from 2.0.18 to 5.0.10. Addressed in #​4720.
  • Upgraded node from 8.9.3 to 12.0.0. Addressed in #​4720.
  • Upgaded jquery from 2.2.4 to 3.1.1. Addressed in #​1229.
  • Upgraded sanitize-filename from 1.6.1 to 1.6.3. Addressed in #​5216.
  • Upgraded @cypress/get-windows-proxy from 1.5.4 to 1.6.0. Addressed in #​5108.

Renovate configuration

📅 Schedule: "before 3am on the first day of the month" (UTC).

🚦 Automerge: Enabled.

♻️ Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".

🔕 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

Newsflash: Renovate has joined WhiteSource, and is now free for all use. Learn more or view updated terms and privacy policies.

@renovate renovate bot added the chore Repository chores label Oct 23, 2019
@renovate renovate bot force-pushed the renovate/cypress-3.x branch 2 times, most recently from 8d18606 to 8e5e790 Compare October 25, 2019 11:54
@codecov
Copy link

codecov bot commented Oct 25, 2019

Codecov Report

Merging #327 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@          Coverage Diff          @@
##           master   #327   +/-   ##
=====================================
  Coverage     100%   100%           
=====================================
  Files           5      5           
  Lines          60     60           
  Branches       10     10           
=====================================
  Hits           60     60

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cd92d13...15bd593. Read the comment docs.

@renovate renovate bot force-pushed the renovate/cypress-3.x branch 9 times, most recently from 2159413 to c098257 Compare October 31, 2019 17:33
@renovate renovate bot changed the title Update dependency cypress to v3.5.0 Update dependency cypress to v3.6.0 Oct 31, 2019
@renovate renovate bot force-pushed the renovate/cypress-3.x branch 7 times, most recently from ce61dba to c1f7e2b Compare November 8, 2019 23:23
@renovate renovate bot changed the title Update dependency cypress to v3.6.0 Update dependency cypress to v3.6.1 Nov 8, 2019
@renovate renovate bot force-pushed the renovate/cypress-3.x branch 7 times, most recently from ec58730 to 789be4e Compare November 15, 2019 01:32
@renovate renovate bot force-pushed the renovate/cypress-3.x branch 8 times, most recently from 4a41e2d to acc9075 Compare November 22, 2019 11:44
@renovate renovate bot force-pushed the renovate/cypress-3.x branch 7 times, most recently from 14412e4 to f547a21 Compare November 27, 2019 23:11
@renovate renovate bot changed the title Update dependency cypress to v3.6.1 Update dependency cypress to v3.7.0 Nov 27, 2019
@renovate renovate bot force-pushed the renovate/cypress-3.x branch 5 times, most recently from f431b65 to 0d34f1e Compare December 2, 2019 14:39
@renovate renovate bot force-pushed the renovate/cypress-3.x branch 4 times, most recently from da71712 to baaa4a5 Compare December 7, 2019 11:52
@renovate renovate bot force-pushed the renovate/cypress-3.x branch from baaa4a5 to 15bd593 Compare December 12, 2019 23:30
@renovate renovate bot changed the title Update dependency cypress to v3.7.0 Update dependency cypress to v3.8.0 Dec 12, 2019
@renovate renovate bot merged commit 766f183 into master Dec 13, 2019
@renovate renovate bot deleted the renovate/cypress-3.x branch December 13, 2019 00:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Repository chores
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants