Releases: cypress-io/cypress
Releases · cypress-io/cypress
0.5.14
Released 05/06/2015
Features:
- Cypress now works with JS applications that use
pushState
andreplaceState
routing (commonly known asHTML5 History
) without having to change any application code. - Cypress now always updates the remote URL whenever your application changes its URL through the vast variety of ways it can do this.
Bugfixes:
- Removed
iframe
andlink[rel=stylesheet]
elements during DOM revert. - Server instrument now correctly displays the number of responses their corresponding routes have had.
- Spies/Stubs/Mocks instrument now correctly displays the number of calls their corresponding methods have had.
- When users navigate between pages with commands, like .click(), Cypress now correctly waits until the age has finished loading before running more commands. Previously this waited for the
unload
event, which did not fire synchronously, and ow we bind tobeforeunload
which does. Additionally Cypress checks to ensurebeforeunload
did not return a non-undefined value.
Misc:
- More changes to prepare for server adapters,
0.5.13
Released 05/04/2015
Features:
- New
cy.message
andcy.msg
commands in preparation forcypress-ruby
,cypress-node
,cypress-*
packages/gem to talk directly to your backend.
Bugfixes:
- Using
querying
ortraversal
commands will no longer throw a 2nd command error when using improper sizzle selectors. - Argument formatting display for command messages is fixed. There were instances of leading commas, or no commas on some commands.
Misc:
- Changed default port from
3000
to2020
to avoid standard port conflicts with commonly used backends. Afterall, using Cypress is testing with 2020 vision. ;-) - Updated
bluebird
to2.9.25
. - Began implementation in preparation for cross browser testing coming sometime relatively soon.
0.5.12
Released 04/30/2015
Features:
- Introduced new command option
length
which cues Cypress into not resolving matched elements until their length matches the option provided.
Bugfixes:
cy.respond
will not resolve until all of the queue'd XHR's have resolved.
Misc:
- Cypress now throws on .should() if any DOM member isn't in the DOM, except for
exist
assertions. - Cypress now throws on
eventually.have.length
assertions. Use implicit{length: n}
command options instead. - Cypress overrides chai
exist
assertion to really mean: "does this subject exist in the document?"
0.5.11
Released 04/29/2015
Bugfixes:
- Fixed missing
aliasType
from primitives and some DOM aliases, which prevent the background color from displaying in the UI.
Misc:
- Optimized performance for hovering / exiting commands. Heavily reduced the CPU on revert / restore the DOM.
0.5.10
Released 04/28/2015
Features:
- cy.server() now accepts a
delay
option which will delay all responses to requests (including 404) based on the value in ms - cy.server() now accepts a
respond
option which can turn off automatic responding to requests. - cy.route() now accepts a
delay
option which overrides the delay option set in cy.server() to just matched requests. - cy.route() now accepts a
respond
option which will turn off automatic responding to just matched requests. - Fixes #14.
- cy.wait() now accepts an alias property called
request
. Example:cy.wait('@getUsers.request')
which ill resolve once the XHR is initially requested, before it is responded to. This allows you to test things when a request is in flight. - Added
cy.respond
command which will respond to all pending requests when{respond: false}
is set in theserver
orroute
. - .debug() now displays pending requests and completed requests.
- The command UI now displays pending requests as a
pending command
.
Misc:
- Updated
sinon
to1.14.1
.
0.5.9
Released 04/26/2015
Features:
- Added .spread() method which spreads an array as individual arguments to a callback function,like .then().
- During an update Cypress will now display the updating message in the same coordinates as when the app was open by clicking the tray icon.
- After an update Cypress will now open back up and show itself in these same coordinates.
- cy.wait() can now accept an array of route aliases which will wait until all have completed. This array of resolved XHRs will become the next subject.
- Each time an alias in used with a cy.wait(), Cypress will not resolve until the Nth request matching the outing alias responds. Fixes #4.
- cy.get() has been upgraded to accept a routing alias. By default it will yield the last matched request, but also supports special alias properties which return a different request or potentially an array of requests.
0.5.8
Released 04/24/2015
Features:
- .as() can now alias primitives and objects other than routes or DOM.
- .as() automatically assigns this alias to
runnable.ctx
which makes it available synchronously. - .as() blacklists several reserved words and will throw if you attempt to alias as one of them.
- cy.get() can now accept all alias types and will display the labels in the UI differently based on the alias type.
- Cypress now displays a message when the Desktop App update is actually being applied instead of doing nothing and looking like it's crashed.
Bugfixes:
- .as() now throws on empty strings or non string arguments.
- Desktop App debug logs no longer sort in the wrong direction.
- Permissions are now restored during a cypress update for the
logs
andcache
. - Prevent 3rd party windows from gaining focus over main window.
Misc:
- Removed
cy.assign
, this has been folded into .as(). - Updated
chokidar
to1.0.1
.
0.5.7
Released 04/23/2015
Features:
- The insanity that is URL parsing to figure out absolute, relative, absolute-path-relative, http, sub domains, and local files should work in most cases. In other words, Cypress has implemented the vast majority of url parsing based on the 'w3c URL spec' 'https://url.spec.whatwg.org'.
Bugfixes:
- Prevent reverting the DOM while tests are running. Fixes #28.
- Fix edge case with forced focusing / blurring an element when document is not in focus and the element is no longer in the DOM.
- Visiting relative paths which are served from your file system works again.
- Visiting absolute paths in the iframe now displays the correct URL in the address bar again.
0.5.6
Released 04/22/2015
Features:
- Cypress now detects the difference between a forced async
done
test timeout vs a regular command timeout, and will throw the appropriate message indicating whether the user forgot to simply invokedone
or whether the timeout happened due to a command.
Bugfixes:
- cy.visit() now properly times out when the
load
event does not occur within the time out window. - If a page loads after a cy.visit() times out it will no longer cause an exception in the
onBeforeLoad
handler.
Misc:
- Increased cy.visit() timeout from 15s to 20s.
- cy.visit() now throws a custom error message when it times out (instead of an incorrect / confusing default mocha timeout message).
- Using a
debugger
while running a test will no longer always cause the test to time out (yay!). - Override default mocha timeout handling, replaced with custom logic. Removes many bizarre edge cases.