- fixed #178 - added
Casper.getPageContent()
to access raw page body contents on non-html received content-types. - fixed #164 - ability to force CLI parameters as strings (see related documentation).
- fixed #153 - erroneous mouse event results when event.preventDefault() was used.
- closed #180 - CasperJS tests are now run against a local HTTP test server. A new
casper selftest
command has been added as well. - added
ClientUtils.getDocumentHeight()
- added a
--no-colors
option to thecasper test
command to skip output coloration
- fixed #119 - HTTP status wasn't properly caught
- fixed #132 - added ability to include js/coffee files using a dedicated option when using the
casper test
command - fixed #140 -
casper test
now resolves local paths urls - fixed #148 -
utils.isWebPage()
was broken - fixed #149 -
ClientUtils.fill()
was searching elements globally - fixed #154 - firing the
change
event after a field value has been set - fixed #144 - added a
safeLogs
option to blur password values in debug logs. This option is set totrue
by default. - added
Casper.userAgent()
to ease a more dynamic setting of user-agent string - added
Tester.assertTitleMatch()
method - added
utils.getPropertyPath()
- added
Casper.captureBase64()
for rendering screen captures as base64 strings - closes #150 - added
Casper.reload()
- fixed failed test messages didn't expose the subject correctly
- switched to more standard
.textContent
property to get a node text; this allows a better compatibility of the clientutils bookmarklet with non-webkit browsers - casper modules now all use javascript strict mode
- added support of custom headers sending in outgoing request - refs #137)
- added support for
prompt()
andconfirm()
- closes #125 - fixed #157 - added support for PhantomJS 1.6
WebPage#zoomFactor
- added
url.changed
&navigation.requested
events - refs #151
- fixed #73 -
Casper.download()
not working correctly with binaries - fixed #129 - Can't put
//
comments in evaluate() function - closed #130 - Added a
Dummy
colorizer class, in order to disable colors in console output - fixed #133 - updated and fixed documentation about extensibility
- added
Casper.clickLabel()
for clicking on an element found by itsinnerText
content
As a side note, the official website monolithic page has been split across several ones: http://casperjs.org/
- BC BREAK: PhantomJS 1.5 is now the minimal PhantomJS version supported.
- fixed #114 - ensured client-side utils are injected before any
evaluate()
call - merged #89 - Support for more mouse events (@nrabinowitz)
- added a new
error
event, better error reporting - fixed #117 -
fill()
coulnd'tsubmit()
a form with a submit input named submit - merged #122 - allow downloads to be triggered by more than just
GET
requests - closed #57 - added context to emitted test events + complete assertion framework refactor
- fixed loaded resources array is now reset adequately reference discussion
- fixed incomplete error message logged when passed an erroneous selector (xpath and css)
- added support for XPath selectors
- added
Tester.assertNotEquals()
(@juliangruber) - fixed #109 - CLI args containing
=
(equals sign) were not being parsed properly
- fixes #107: client utils were possibly not yet being injected and available when calling
Capser.base64encode()
from some events - merged PR #96: make python launcher use
os.execvp()
instead ofsubprocess.Popen()
(@jart):This patch fixes a bug where casperjs' python launcher process won't pass along kill signals to the phantomjs subprocess. This patch works by using an exec system call which causes the phantomjs subprocess to completely replace the casperjs parent process (while maintaining the same pid). This patch also has the added benefit of saving 10 megs or so of memory because the python process is discarded.
- fixes #109 - CLI args containing
=
(equals sign) were not parsed properly - fixes #100 & #110 - googlepagination sample was broken
- merged #103 - added
Tester.assertNotEquals
method (@juliangruber)
- BC BREAK:: moved the
page.initialized
event to where it should have always been, and is now using native phantomjsonInitialized
event - fixed #95 -
Tester.assertSelectorExists
was broken
- BC BREAK: reverted 8347278 (refs #34 and added a new
clear()
method to close a page You now have to callcasper.clear()
if you want to stop javascript execution within the remote DOM environment. - BC BREAK: removed
fallbackToHref
option handling inClientUtils.click()
(refs #63) tester.findTestFiles()
now returns results in predictable order- added
--log-level
and--direct
options tocasper test
command - fixed 0.6.4 version number in
bootstrap.js
- centralized version number to package.json
- ensured compatibility with PhantomJS 1.5
- fixed
casperjs
command wasn't passing phantomjs native option in the correct order, resulting them not being taken into account by phantomjs engine: - fixed Python3 compatibility of the
casperjs
executable
- fixed #48 - XML Output file doesn't have classpath populated with file name
- refs #46 - added value details to Tester
fail
event - new site design, new domain, enhanced & updated docs
-
fixed #41 - injecting casperjs lib crashes
cmd.exe
on Windows 7 -
fixed #42 - Use file name of test script as 'classname' in JUnit XML report (@mpeltonen)
-
fixed #43 - Exit status not reported back to caller
-
suppressed colorized output syntax for windows; was making output hard to read
-
added patchy
fs.isWindows()
method -
added
--xunit=<filename>
cli option to$ casperjs test
command for saving xunit results, eg.:$ casperjs test tests/suites --xunit=build-result.xml
- restablished js-emulated click simulation first, then native QtWebKit events as a fallback; some real world testing have surprinsingly proven the former being often more efficient than the latter
- fixed casperjs executable could not handle a
PHANTOMJS_EXECUTABLE
containing spaces - fixed casper could not be used without the executable as documented
- fixed wrong
debug
log level onClientUtils.click()
error; set toerror
Please check the updated documentation.
- 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) - added
$ casperjs test
command for running split test suites Casper.open()
can now perform HTTPGET
,POST
,PUT
,DELETE
andHEAD
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 inCasper.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)
Please check the updated documentation.
- merged PR #30 - Add request method and request data to the
base64encode()
method (@jasonlfunk) casperjs
executable now gracefully exists on KeyboardInterrupt- added
Casper.download()
method, for downloading any resource and save it onto the filesystem
- fixed #31 - replaced bash executable script by a Python one
- first numbered version