0.17.5

Released Released on October 1, 2016

Features:

  • We've added JUnit as a valid built-in reporters. Fixes #178.

  • You can now add or write your own custom reporters. This means you can npm install xyz-mocha-reporter and we'll automatically correctly require that package. Alternatively you can write your own xyz-custom_reporter.js file. Fixes #231.

  • The reporter can now be resized. We persist this state locally so it should "stick" between browser launches / app restarts. Fixes #204.

  • Cypress now "remembers" the last browser you had open and will suggest opening that whenever a project is opened. Addresses #193.

  • Instead of seeing Script error. - cross origins script errors are now handled specially and we throw a very long and exciting error explaining what just happened. Fixes #241.

  • When uncaught errors are thrown in hooks we now indicate Mocha's behavior as part of the error - that it is skipping the remaining tests in the current suite. Fixes #240.

Bugfixes:

  • The reporter now more intelligently scrolls to prevent commands from being cut off. Useful in screenshots / video recording. Fixes #228.

  • We've improved the logic of how snapshots are restored so that it does not break the CSS when there were full page navigations in the test and the CSS changed. Fixes #223.

  • Iframes are now correctly handled when we restore snapshots. Previously, we removed iframes which would change the page layout and the hitboxes' coordinates we drew were wrong. Now we insert iframe placeholders that prevent the page layout from changing. Fixes #234.

  • Snapshot hitboxes no longer incorrectly draw for elements that are hidden. Fixes #251.

  • Fixed a bug that caused commands to time out on subsequent tests whenever there was an uncaught error + an assertion conflict. Fixes #238.

  • Fixed an edge case where assertions would incorrectly associate to a previously run assertion. Fixes #252.

  • Cypress commands now correctly execute in after and afterEach hooks on a failed test. Previously they would only run on passing tests. Fixes #203.

Misc:

  • We've bypassed Mocha's default uncaught error handling and replaced it with something much better - actually using the thrown error instances instead of creating a new arbitrary one. This means you'll see better stack traces on uncaught errors. Fixes #193.

  • We've bypassed Mocha's default uncaught error handling in a hook. Normally this immediately ends the run. Instead we are skipping the remaining tests in the current suite. This prevents skipping potentially dozens or hundreds of tests downstream that are typically unrelated to the hook failure.

  • We've updated cypress-cli package to 0.12.0. You will need to download this new CLI version if you want to pass --reporter-options.

  • Bumped the internal version of mocha from 2.2.1 to 2.4.5.