/casperjs

Navigation scripting & testing utility for PhantomJS

Primary LanguageJavaScriptMIT LicenseMIT

CasperJS

Important note: the master branch hosts the development version of CasperJS, and may be rather instable from time to time. Use the 1.0 branch if you want to keep in sync with the stable version, or use tagged versions.

Currently, available documentation is:

Travis-CI build statuses:

  • Build Status 1.0 branch
  • Build Status master branch

CasperJS is a navigation scripting & testing utility for PhantomJS. 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:

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+.

Show me some code!

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.

Contributing

Contributing code

Please read the CONTRIBUTING.md file contents.

Contributing documentation

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.