Skip to content

Releases: cypress-io/cypress

0.5.15

19 Jul 07:15
Compare
Choose a tag to compare

Released 05/07/2015

Bugfixes:

  • Reverted window.location overrides. This broke things in unexpected ways and after further testing would not have worked on Firefox and IE. It's back to the drawing board (but I have some ideas). Apps using pushState routing are broken again.

0.5.14

19 Jul 07:15
Compare
Choose a tag to compare

Released 05/06/2015

Features:

  • Cypress now works with JS applications that use pushState and replaceState routing (commonly known as HTML5 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 and link[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 to beforeunload which does. Additionally Cypress checks to ensure beforeunload did not return a non-undefined value.

Misc:

  • More changes to prepare for server adapters,

0.5.13

19 Jul 07:15
Compare
Choose a tag to compare

Released 05/04/2015

Features:

  • New cy.message and cy.msg commands in preparation for cypress-ruby, cypress-node, cypress-* packages/gem to talk directly to your backend.

Bugfixes:

  • Using querying or traversal 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 to 2020 to avoid standard port conflicts with commonly used backends. Afterall, using Cypress is testing with 2020 vision. ;-)
  • Updated bluebird to 2.9.25.
  • Began implementation in preparation for cross browser testing coming sometime relatively soon.

0.5.12

19 Jul 07:15
Compare
Choose a tag to compare

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

19 Jul 07:15
Compare
Choose a tag to compare

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

19 Jul 07:15
Compare
Choose a tag to compare

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 the server or route.
  • .debug() now displays pending requests and completed requests.
  • The command UI now displays pending requests as a pending command.

Misc:

  • Updated sinon to 1.14.1.

0.5.9

19 Jul 07:15
Compare
Choose a tag to compare

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

19 Jul 07:14
Compare
Choose a tag to compare

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 and cache.
  • Prevent 3rd party windows from gaining focus over main window.

Misc:

  • Removed cy.assign, this has been folded into .as().
  • Updated chokidar to 1.0.1.

0.5.7

19 Jul 07:14
Compare
Choose a tag to compare

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

19 Jul 07:14
Compare
Choose a tag to compare

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 invoke done 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.