CasperJS Changelog

What's new in CasperJS 1.0.4

Dec 7, 2013
  • Fixed version number in package.json

New in CasperJS 1.1 Beta 3 (Dec 7, 2013)

  • Important changes & bugfixes:
  • Fixed #523 - Make CasperJS installable & usable from npm using:
  • $ npm install casperjs
  • Or if you want to install it globally on your system:
  • $ npm install -g casperjs
  • Notes:
  • Only 1.1 beta versions are installable from npm;
  • CasperJS is still not a NodeJS package, it needs either PhantomJS or SlimerJS to run.
  • Fixed #728 - Prevent overriding of preconfigured casper instance in a test environment
  • This was a hard decision to make, but too many people just don't read the docs and create new casper instance in a test env, overriding the preconfigured one which creates cumbersome and hard to understand situation.
  • Hopefully this change will inform users right from the place they read docs the most, fatal error messages.
  • Fixed #722 - Thrown step, complete and wait errors are no more silenced by default, though a new silentErrors Casper option is available if you want to reproduce the previous behavior
  • Fixed #715 - Enhanced element visibility computation method
  • Fixed #665 - Renamed --direct cli option to --verbose; --direct still works but is to be considered deprecated
  • Fixed #596 - added a new .NET launcher for Windows environments; just switch to using bin/casperjs.exe today
  • Note: The previous batchbin/casperjs.bat executable is deprecated and won't be maintained anymore.
  • New features:
  • Added an --auto-exit=no test runner option and an exit tester event to hook on before runner exits
  • Added Casper#scrollTo() & Casper#scrollToBottom() scrolling helpers
  • Added a resource-error event on resource loading failure (#649)
  • Added a reset option to Casper#sendKeys()
  • Added CSS selector support to Tester#assertField()
  • Added a details property bag to waitFor.timeout events
  • Added a new improved RPM package build script
  • Minor fixes & enhancements:
  • Fixed #639 - withFrame() now switches back to parent frame instead of main one
  • Fixed #637 - checkStep() turns into an infinite loop when navigationLocked is true
  • Fixed #699 - getPageContent() throws error when content is not HTML
  • Fixed #666 - Ensure local options configuration override global configuration of Casper instance
  • Fixed #631 - better .bind() polyfill
  • Fixed #644 - better handling of deleted page objects
  • Fixed betterInstanceOf for Gecko (SlimerJS)
  • Fixed #711 - Better cli arguments parsing
  • Changed XUnit testsuite attribute duration to time to avoid errors on Jenkins
  • Updated python test runner to use the ENGINE_EXECUTABLE env var
  • Improved performance of the Python cli test suite

New in CasperJS 1.1 Beta 1 (Oct 8, 2013)

  • heavy lifting of casperjs bootstrap script
  • closed #482 - support of Gecko (Firefox's engine) with SlimerJS: new option --engine=slimerjs (experimental)
  • fixed #387 - Setting viewport isn't quite synchronous
  • fixed #410 - trigger mousedown and mousedown events on click
  • fixed #433 - assertField("field", "") will always pass even though the field doesn't exist
  • closed #392 - --direct & --log-level options available for the casperjs executable
  • closed #350 - Add a Casper#waitForSelectorTextChange() method
  • Added Casper#bypass, Casper#thenBypass, Casper#thenBypassIf, Casper#thenBypassUnless methods
  • Added Tester#skip method
  • Added Casper#eachThen()
  • merged #427 - Added keepFocus option to Casper#sendKeys()
  • fixed #441 - added --ssl-protocol option support to the casperjs executable
  • fixed #452 - allow uppercase http methods in Casper#open()
  • fixed #521 - sendKeys for inputs without text attribute should not be restricted
  • Added Casper#fillSelectors() and Casper#fillXPath()
  • Added Casper#getElementsAttribute() and Casper#getElementsInfo()
  • Added Casper#waitForUrl()
  • Added support for key modifiers to Casper#sendKeys()
  • cli: Now dropping an arg or an option will be reflected in their raw equivalent
  • cli.get() now supports fallback values

New in CasperJS 0.6.4 (Feb 27, 2012)

  • fixed casperjs command wasn't passing phantomjs native option in the correct order, resulting them not being taken into account by phantomjs engine:
  • fixed #49 - casperjs is not sending --ssl-ignore-errors
  • fixed #50 - Cookies not being set when passing --cookies-file option
  • fixed Python3 compatibility of the casperjs executable

New in CasperJS 0.6.2 (Jan 23, 2012)

  • BC BREAK: Casper.click() now uses native Webkit mouse events instead of previous crazy utopic javascript emulation
  • BC BREAK: All errors thrown by CasperJS core are of the new CasperError type
  • BC BREAK: removed obsolete replaceFunctionPlaceholders()
  • Deprecated: Casper.extend() method has been deprecated; use natural javascript extension mechanisms instead (see samples)
  • Casper.open() can now perform HTTP GET, POST, PUT, DELETE and HEAD operations
  • commonjs/nodejs-like module exports implementation
  • ported nodejs' events module to casperjs; lots of events added, plus some value filtering capabilities
  • introduced the mouse module to handle native Webkit mouse events
  • added support for RegExp input in Casper.resourceExists()
  • added printing of source file path for any uncaught exception printed onto the console
  • added an emulation of stack trace printing (but PhantomJS will have to upgrade its javascript engine for it to be fully working though