CHANGELOG.md
12.6 KB
CasperJS Changelog
XXXX-XX-XX, v1.0.0
- 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.
- fixed #180 - CasperJS tests are now run against a local HTTP test server. A new
casper selftest
command has been added as well. - fixed #202 - Fix test status timeouts when running multiple suites
- fixed #204 - Fix for when the url is changed via javascript
- fixed #210 - Changed
escape
toencodeURIComponent
for downloading binaries via POST - fixed #216 - Change clientutils to be able to set a global scope
- fixed #219 - ease chaining of
run()
calls (more explanations) - fixed #236 - Casper.exit return
this
after callingphantom.exit()
that may caused PhantomJS to hang - fixed #231 - added
--pre
and--post
options to thecasperjs test
command to load test files before and after the execution of testsuite - fixed #222 & #211 - Change mouse event to include an X + Y value for click position
- fixed #232 - symlink resolution in the ruby version of the
casperjs
executable - added
ClientUtils.getDocumentHeight()
- added a
--no-colors
option to thecasper test
command to skip output coloration
2012-06-26, v1.0.0-RC1
PhantomJS 1.5 & 1.6
- 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
PhantomJS >= 1.6 supported features
- 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
2012-06-04, v0.6.10
- 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/
2012-05-29, v0.6.9
- 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)
2012-05-20, v0.6.8
- added support for XPath selectors
- added
Tester.assertNotEquals()
(@juliangruber) - fixed #109 - CLI args containing
=
(equals sign) were not being parsed properly
2012-05-12, v0.6.7
- 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)
2012-04-27, v0.6.6
-
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
2012-03-28, v0.6.5
-
BC BREAK: reverted 83472789 (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
2012-02-09, v0.6.4
- 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
2012-02-05, v0.6.3
- 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
2012-01-19, v0.6.2
- 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
2012-01-16, v0.6.1
- 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.
2012-01-12, v0.6.0
-
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.
2011-12-25, v0.4.2
- 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
2011-12-21, v0.4.1
- fixed #31 - replaced bash executable script by a Python one
2011-12-20, v0.4.0
- first numbered version