Important note: the
master
branch hosts the development version of CasperJS, which is now pretty stable and should be the right version to use if you ask me.Use the
1.0
branch if you want to keep in sync with the stable old version, or use tagged versions.Currently, available documentation is:
- hosted on docs.casperjs.org for the development branch
- hosted on casperjs.org for the 1.0 branch
Travis-CI build status:
CasperJS is a navigation scripting & testing utility for PhantomJS and SlimerJS. It eases the process of defining a full navigation scenario and provides useful high-level functions, methods & syntaxic sugar for doing common tasks such as:
- defining & ordering navigation steps
- filling forms
- clicking links
- capturing screenshots of a page (or an area)
- making assertions on remote DOM
- logging & events
- downloading base64 encoded resources, even binary ones
- catching errors and react accordingly
- writing functional test suites, exporting results as JUnit XML (xUnit)
Browse the sample examples repository. Don't hesitate to pull request for any cool example of yours as well!
Read the full documentation on casperjs dedicated website.
Subscribe to the project mailing-list
Follow the CasperJS project on twitter and Google+.
Sample test to see if some dropdown can be opened:
casper.test.begin('a twitter bootsrap dropdown can be opened', 2, function(test) {
casper.start('http://twitter.github.com/bootstrap/javascript.html#dropdowns', function() {
test.assertExists('#navbar-example');
this.click('#dropdowns .nav-pills .dropdown:last-of-type a.dropdown-toggle');
this.waitUntilVisible('#dropdowns .nav-pills .open', function() {
test.pass('Dropdown is open');
});
}).run(function() {
test.done();
});
});
Run the script:
##Support
If you're having problems with using the project, use the support forum at CodersClan.
Please read the CONTRIBUTING.md file contents.
CasperJS's documentation is written using the Markdown format, and hosted on Github thanks to the Github Pages Feature.
To view the source files on github, head to the gh-pages branch, and check the documentation's README for further instructions.