Releases: cypress-io/cypress
Releases · cypress-io/cypress
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.