casperjs 0,3,8,0,1,4,0,8 eslint travis-ci Rubygems npm

Navigation scripting and testing utility for PhantomJS and SlimerJS

CasperJS

Build Status

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. Users interested in a pretty stable, recent version working with PhantomJS 2.0 and newer should choose the packaged 1.1.0 and following releases.

The 1.0 branch is now obsolete. Please note that

  • it is only recommended if you need to keep old production tests running that could do with the now unmaintained PhantomJS 1.9
  • 1.0 tests unfortunately have to be run manually using the casperjs selftest command

Note that all versions up to and including 1.1-beta3 do not support PhantomJS 2.0 and newer.

The complete documentation for the current releases is hosted on docs.casperjs.org.

CasperJS is a navigation scripting & testing utility for PhantomJS and SlimerJS (still experimental). It eases the process of defining a full navigation scenario and provides useful high-level functions, methods & syntactic 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 documentation website.

Subscribe to the project mailing-list

Follow the CasperJS project on twitter and Google+.

Show me some code!

First install CasperJS, we'll use 1.1 beta here.

Sample test to see if some dropdown can be opened:

casper.test.begin('a twitter bootstrap dropdown can be opened', 2, function(test) {
    casper.start('http://getbootstrap.com/2.3.2/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

Help request. If you're stuck using CasperJS and don't understand how to achieve something, please ask on the mailing-list first. If the discussion reveals that you have found a real issue that might need a change within CasperJS, file an issue.

Filing issues. It takes a lot of time to review, validate, and de-duplicate filed issues. This time could be spent better on actually improving on CasperJS. Filing an issue might be a helpful contribution, but we expect you to read our CONTRIBUTING.md guidelines first.

Professional Support. Need help with getting CasperJS up and running? Got a time-consuming problem you want to get solved quickly?

Try to find someone to address your specific problem and post a reward at bountysource.

If you need to have a known issue resolved and don't have the time or skills to do it on your own, you could post a reward for any open issue directly.

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.

Team

License

MIT

Related Repositories

grunt-casperjs

grunt-casperjs

Grunt task for casperjs ...

mocha-casperjs

mocha-casperjs

Write CasperJS tests using Mocha ...

php-casperjs

php-casperjs

simple PHP wrapper for CasperJS ...

heroku-buildpack-casperjs

heroku-buildpack-casperjs

This is a Heroku buildpack of CasperJS / PhantomJS. ...

casperjs-runner-maven-plugin

casperjs-runner-maven-plugin

CasperJS Runner Maven plugin ...


Top Contributors

n1k0 mickaelandrieu istr laurentj hexid BIGjuevos mduvall brikou nathanboktae paazmaya mepard hannyu r8k MattCBowman chiefcll clochix Claud Reinboom pborreli starlocke zeroem ilangv nrabinowitz p entrptaher andy-g tylerritchie kastiglione ebouchut austin-rasmussen

Releases

-   1.1.3 zip tar
-   1.1.2 zip tar
-   1.1.1 zip tar
-   1.1.0 zip tar
-   1.1-beta5 zip tar
-   1.1-beta4 zip tar
-   1.1-beta3 zip tar
-   1.1-beta2 zip tar
-   1.1-beta1 zip tar
-   1.0.4 zip tar
-   1.0.3 zip tar
-   1.0.2 zip tar
-   1.0.2-docs zip tar
-   1.0.1 zip tar
-   1.0.1-docs zip tar
-   1.0.0 zip tar
-   1.0.0-docs zip tar
-   1.0.0-RC6 zip tar
-   1.0.0-RC6-docs zip tar
-   1.0.0-RC5 zip tar
-   1.0.0-RC5-docs zip tar
-   1.0.0-RC4 zip tar
-   1.0.0-RC4-docs zip tar
-   1.0.0-RC3 zip tar
-   1.0.0-RC3-docs zip tar
-   1.0.0-RC2 zip tar
-   1.0.0-RC2-docs zip tar
-   1.0.0-RC1 zip tar
-   1.0.0-RC1-docs zip tar
-   0.6.10 zip tar