Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^3.3.1
->^6.0.0
By merging this PR, the below issues will be automatically resolved and closed:
Release Notes
cypress-io/cypress
v6.8.0
Compare Source
Released 3/17/2021
User Experience:
Bugfixes:
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:
scroll-behavior: smooth
no longer fails Cypress's actionability check. Fixes #15453.projectId
will be written correctly to thecypress.json
file on initial creation without an extra config object. Fixes #15497.v6.7.0
Compare Source
Released 3/15/2021
Features:
experimentalRunEvents
configuration flag has been removed. You can now listen tobefore:run
,after:run
,before:spec
andafter:spec
events in the plugins file without needing theexperimentalRunEvents
configuration option. See thebefore:run
,after:run
,before:spec
andafter:spec
docs for more information. Addressed in #15276.Bugfixes:
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.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.mouse down
event, fixes #8279.Misc:
Dependency Updates:
electron
from11.2.3
to11.3.0
. Addressed in #15201.v6.6.0
Compare Source
Released 2/18/2021
Features:
Dependency Updates:
ramda
to version0.27.1
. Addressed in #14958.v6.5.0
Compare Source
Released 2/15/2021
Performance:
cypress open
andcypress run
. Addresses #15075.Bugfixes:
Cypress.on
did not support chaining. Addresses #14991..zip
could become corrupted and break the install process. Addresses #4595.Misc:
autoEnd
to the types forLogConfig
. Addresses #9590.Dependency Updates:
electron
to version11.2.3
. Addresses #15056.v6.4.0
Compare Source
Released 2/1/2021
Features:
delayMs
option forcy.intercept()
has been renamed todelay
.delayMs
will still work, but it is deprecated and will be removed in a future release. Addresses #14822.Bugfixes:
cy.type()
commands. Addresses #14684.watchForFileChanges: false
. Addresses #14744.cy.click()
beforecy.type()
. Addresses #14685.cy.intercept
where aliases set viareq.alias
containing a period character would not work as expected. Addresses #14444.cy.intercept
would not work as expected. Addresses #14446 and #14511.Misc:
Dependency Updates:
recast
to version0.20.4
. Addresses #14623.registry-js
to version1.13.0
. Addresses #14668.@cypress/get-windows-proxy
to version1.6.2
. Addresses #14711.systeminformation
to version4.31.1
. Addresses #14715.semantic-release
to version17.2.3
. Addresses #14713.electron to version
11.2.1`. Addresses #14764.v6.3.0
Compare Source
Released 1/19/2021
Features:
experimentalStudio
attribute to your configuration,cypress.json
by default. Address #73.downloadsFolder
which is set tocypress/downloads
by default. ThedownloadsFolder
will be deleted before each run unlesstrashAssetsBeforeRuns
is set tofalse
. Addresses #949.Bugfixes:
.only
, the error will now correctly display in the Command Log. Fixes #14455.--key
flag when followed by other CLI flags. Fixed #14593.afterEach
hook. Fixes #9209.waitForAnimations
set tofalse
no longer affects whether Cypress fires actions on inner elements. Fixes #14370.CYPRESS_
prefixed env variables containing commas to be parsed as multiple values. Fixes #8818.have.value
on an undefined subject would throw an error. Fixes #14359.Misc:
Dependency Updates:
node-sass
withsass
. Addressed in #14415.debug
from4.1.1
to4.3.1
. Addressed in #14583.electron
from11.0.3
to11.2.0
. Addressed in #14567.electron-builder
from22.8.0
to22.9.1
. Addressed in #14493.shell-env
from3.0.0
to3.0.1
. Addressed in #14622.uuid
from8.2.0
to8.3.2
. Addressed in #14170.v6.2.1
Compare Source
Released 1/4/2021
Bugfixes:
cypress run
. Fixes #9040.multipart/form-data
is no longer wrongly encoded when usingcy.intercept()
. This should preventUnexpected 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.capture: 'runner'
to acy.screenshot()
command inside.within()
now screenshots the entire Test Runner as expected. Fixes #14253.Cypress.dom.isJquery()
now always returns a boolean instead ofundefined
sometimes. Fixes #14278.calledOnceWith
andcalledOnceWithExactly
sinon matchers no longer throw an error when used within Cypress. Fixes #9644.--disable-backgrounding-occluded-windows
as a default flag to Chrome to prevent backgrounding rendering when the Cypress window is occluded. Fixes #9604.Misc:
Dependency Updates:
devtools-protocol
from0.0.734984
to0.0.839267
. Addressed in #14353.electron
from11.0.3
to11.1.1
. Addressed in #14352.v6.2.0
Compare Source
Released 12/21/2020
Features:
before:run
andafter:run
events in the plugins file. See thebefore:run
andafter:run
docs for more information. Addressed in #14238 and #14263.before:spec
andafter:spec
events in the plugins file. See thebefore:spec
andafter:spec
docs for more information. Addressed in #9646 and #14178.Timed out retrying
error message now displays the amount of time Cypress retried. Addresses #5781.Bugfixes:
cy.intercept()
usingcy.get()
will no longer always yieldnull
. Fixes #9306.cy.intercept()
will now automatically responds to CORS preflight requests (HTTPOPTIONS
requests) that match defined routes. Fixes #9599.forceNetworkError
can now be awaited usingcy.intercept()
andcy.wait()
. Fixes #9062.cy.log()
inside.then()
no longer breaks the subject value in the command chain. Fixes #8084.Cypress.Commands.overwrite
to overwrite.then()
now preserves the properthis
context and sets aliases correctly. Fixes #5101.Cypress.Commands.overwrite
to overwritecy.route()
orcy.intercept()
and wait on its alias now properly works. Fixes #3890 and #9580.Misc:
scrollBehavior
is now an allowed type when passed as test configuration. Addresses #9643.FileObject
type for the file argument of thefile:preprocessor
event now includes theEventEmitter
type. Addresses #9276.Dependency Updates:
electron
from11.0.2
to11.0.3
. Addressed in #9409.v6.1.0
Compare Source
Released 12/07/2020
Features:
scrollBehavior
configuration option that controls the viewport position when an element is scrolled prior to action commands. Possible values are'top'
,'bottom'
,'center'
,'nearest'
, andfalse
, with'top'
being the default.scrollBehavior: false
disables scrolling altogether.scrollBehavior
can be specified in global configuration, test configuration or individual action commands viaoptions
. Addresses #871 and #4356.Bugfixes:
cy.intercept()
will now automatically setAccess-Control-Allow-Origin
andAccess-Control-Allow-Credentials
to permissive values unless explicitly overridden. Fixes #9264.Cannot read property "fireChangeEvent" of undefined
error will no longer throw during a race condition when usingcy.intercept()
. https://github.com/cypress-io/cypress/issues/9170cy.intercept()
. Fixes #8934 and #8999.cy.intercept()
unless dynamically intercepted. Addressed in #9097.before()
hook. Fixes #9162./
from URLs when they are explicitly passed with query paramaters. Fixes #9360.Cypress.dom.isVisible
behavior for elements withposition: 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:
waitForAnimations
andanimationDistanceThreshold
types are now included for all actionable commands. Addresses #8854.Dependency Updates:
mocha-junit-reporter
from1.23.1
to2.0.0
. Addressed in #9528.v6.0.1
Compare Source
Released 11/30/2020
Bugfixes:
Option 'sourceMap' cannot be specified with option 'inlineSourceMap'
error to throw when settingsourceMap
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.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 (previouslycy.route2()
). Withcy.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.
not.exist
). Assertions such asnot.visible
,not.contains
,not.have.class
, etc will now fail when used on non-existent DOM elements. Addresses #205.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 withopacity: 0
. Addresses #4474.cy.wait(alias)
has changed in order to support use ofcy.intercept()
. Addressed in #9266.experimentalNetworkStubbing
option has been removed and made the default behavior. You can safely removed this configuration option. Addressed in #9185..type()
and.click()
on elements inside acontenteditable
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.http.STATUS_CODES
. If you have code that relies on a reason phrase, then this could affect you. Addressed in #8969.cy.intercept()
are now automatically parsed, removing the need to manually doJSON.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()
andcy.route()
have been deprecated. In a future release, support forcy.server()
andcy.route()
will be moved to a plugin. We encourage you to usecy.intercept()
instead. Addressed in #9185.experimentalFetchPolyfill
has been deprecated. We encourage you to usecy.intercept()
to intercept requests using the Fetch API instead.cy.route2()
was renamed tocy.intercept()
. We encourage you to update usages ofcy.route2()
to usecy.intercept()
. Addressed in #9182.Features:
cy.intercept()
command can be used to manage the behavior of HTTP requests at the network layer. Addressed in #9182.—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 yourplugins
file, you can now remove this code. Addresses #5336.cypress version
command now also displays the current Electron and bundled Node versions. Addresses #9180.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:
.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 acontenteditable
element. Fixes #2717 and #7721.Content-Length
forcy.route2
request bodies could be incorrectly recalculated. Fixes #9166.Documentation Changes:
cy.intercept()
in place ofcy.route()
including our Network Requests doc.Misc:
redirects
and changedredirectedToUrl
optional for Response types. Addresses #9275.Dependency Updates
cypress run
and when selecting Electron browser incypress open
from85
to87
. Addressed in #9222.12.16.3
to12.18.3
. Addressed in #9222.electron
from10.1.5
to11.0.2
. Addressed in #9222.v5.6.0
Compare Source
Released 11/09/2020
Features:
cy.route2()
. See an example. Addresses #387.cy.type()
. You can now type shortcuts like{ctrl+z}
. Addressed in #5694.Bugfixes:
cy.visit()
on sites withcontent-type
oftext-html
followed by parameters (liketext/html;charset=utf-8
) will no longer throw an error about visiting a site with an invalid content-type. Fixes #8506Cannot access 'continueSent' before initialization
error will no longer throw when usingcy.route2()
. Fixes #8926.cy.route2()
should now work properly. Addressed in #9059.cy.route2()
requests are displayed in the Command Log has been improved, including showing the progress bar correctly. Addresses #9053.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.fixture:
prefix as a stubbed response tocy.route()
, JSON fixtures containing only a number or boolean will no longer throw an error. Fixes #4899.Misc:
.invoke()
and.its()
now allow for atimeout
option. Addresses #9079.cy.task()
now allow for parameterizing the task return type. Addresses #7136.cypress cache list
when no cached versions are found. Addresses #6303.Dependency Updates:
commander
from^4.1.1
to^5.1.0
. Addressed in #8979.semver
from6.3.0
to7.3.2
. Addressed in #9068.systeminformation
from4.26.9
to4.27.11
. Addressed in #8979.node-webkit-updater
. This should remove some security warnings that were shown during install. Addresses #8314.v5.5.0
Compare Source
Released 10/26/2020
Features:
cy.viewport()
has a newmacbook-16
preset. Addresses #8889..type()
now fires thebeforeInput
event during typing. Note: Firefox does not support thebeforeinput
event. Addresses #7088.Bugfixes:
cy.route2
where HTTPS requests to a non-AUT origin would not be intercepted as expected.cy.route2()
now properly handles passing a method as its first argument. Fixes #8729.cy.route2()
where a "Cannot set property response of undefined" error would occasionally occur. Fixes #8858.cy.route2()
now serve the correct mime-type and content. Fixes #8623.experimentalNetworkStubbing
is enabled, usingcy.visit()
to URLs that redirect and set Transfer-Encoding: chunked will no longer fail in Cypress with a "Parse Error". Fixes #8497.cypress.run()
through the Module API now has astatus
property in the results matching the correct CLI types ("failed"
or"finished"
). Addresses #8798.e
character is passed to the--ci-build-id
flag, Cypress now properly reads it as a string. Fixes #8874.Misc:
runMode
oropenMode
toretries
alone. Addresses #8869.Dependency Updates:
electron
from10.1.3
to10.1.5
. Addresses #8927, #8975.color-string
from1.5.3
to1.5.4
. Addresses #8945.pretty-bytes
from^5.3.0
to^5.4.1
. Addresses #8964.v5.4.0
Compare Source
Released 10/14/2020
Features:
cypress cache prune
to delete all installed Cypress versions from the cache except for the currently-installed version. Addresses #5972.--size
option for thecypress cache list
command that prints the sizes of the Cypress cache folders. Addresses #6404.--browser
flag, likecypress open --browser C:/User/App/browser.exe:chrome
, to help detect the browser type. Addresses #6389.cy.viewport()
has newiphone-7
,iphone-8
, andiphone-se2
presets. Addressed in #8624CYPRESS_NO_COMMAND_LOG=1
environment variable duringcypress open
orcypress run
to be used as a tool to debug performance issues. Addressed in #8689.Bugfixes:
chromeWebSecurity
option had no effect in Electron. Fixes #8399.test:after:run
event listener. Fixes #2271 and #8701..within()
and "cy.get()
" is called inside it, the scope will no longer permanently change. Fixes #2106, #4672, #4757, and #5183.cy.contains()
when used after an.each()
commands now query as expected. Fixes #4921./
is no longer added to the URL whenbaseUrl
has param(s). Fixes #2101.cy.route2()
the route handler timeouts will no longer leak into other tests and cause random failures. Addressed in #8727.Misc:
cy.route2()
. Addresses #8694 and #8782.Dependency Updates:
cypress run
and when selecting Electron browser incypress open
from83
to85
. Addressed in #8406.12.14.1
to12.16.3
. Addressed in #8406.electron
from9.2.1
to10.1.3
. Addressed in #8406.firefox-profile
from2.0.0
to4.0.0
. Addressed in #8786.node-forge
from0.9.0
to0.10.0
. Addressed in #8800.v5.3.0
Compare Source
Released 9/28/2020
Features:
firefoxGcInterval
workaround. The desktop GUI will display a warning if such versions are used.Bugfixes:
cy.route2
would not automatically JSONify an empty array handler. Addresses #8532.cy.wait
on acy.route2
alias would not always have aresponse
property. Addresses #8536.cy.route2
routes would not be able to intercept requests to HTTPS destinations on a different origin. Addresses #8487.undefined
after certain assertion failures. Addresses #5763.cy.task
with no arguments passed would receivenull
as the first argument instead ofundefined
. Addresses #5913.cy.visit()
s to a relative URL containing..
would not work. Addresses #5090.cy.setCookie
failed when given a cookie name with a__Host-
prefix. Addresses #8261.Error
object. Addresses #7870.Misc:
Content-Security-Policy-Report-Only
header the same way that it does forContent-Security-Policy
. Addresses #7936.status
property toCypressRunResult
objects. Addresses #8580.CYPRESS_INSTALL_BINARY
now takes precedence over npm config. Addresses #8488.v5.2.0
Compare Source
Released 9/15/2020
Features:
includeShadowDom
for enabling shadow DOM querying globally, per-suite, per-test, or programmatically. Addresses #8442.followRedirect
option to request interception withcy.route2()
, allowing redirects to be followed before continuing to response interception. Addresses #7967.delayMs
andthrottleKbps
when stubbing static responses withcy.route2()
. Addresses #7661.CYPRESS_BINARY_INSTALL
environment variable. Addresses #8482.Performance Improvements:
Bugfixes:
cy.contains()
within a shadow root would not yield the correct element. Addresses #8494.cy.within()
callback would throw the errorroot.getRootNode is not a function
. Addresses #8478.cy.type()
{moveToStart}/{moveToEnd}
special characters moving the cursor to the current line instead of the entire text editable when typing in acontenteditable
element. Addresses #8465.cy.type()
now fires aKeyboardEvent
event instead of anEvent
event. Addresses #6125 and #5650.cy.getCookie()
would be called twice. Addresses #6672.Documentation Changes:
cy.route2()
. Addresses #8489.cy.route2()
. Addresses #8468.Misc:
experimentalShadowDomSupport
configuration flag has been removed. It is no longer necessary to enable shadow DOM testing.cy.shadow()
is not a shadow host. Addresses #8530.cy.route2()
command.Cypress.Commands.add()
, addingPromise
to the list of allowed return types. Addresses #7807.v5.1.0
Compare Source
Released 9/1/2020
Features:
experimentalNetworkStubbing
enabled, thecy.route2
command is available.XMLHttpRequest
s,fetch
requests, beacons, and subresources (like iframes and scripts).cy.trigger()
now accepts aneventConstructor
option for specifying the constructor with which to create the event to trigger. Addresses #5650.Bugfixes:
retries
toTestOptions
types. Addresses