With this grunt.js task you can run tests with CasperJS.
First Install CasperJS.
This plugin requires Grunt ~0.4.0
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-casperjs --save-dev
One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-casperjs');
In your project's Gruntfile, add a section named casperjs
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
casperjs: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
}
}
})
grunt.initConfig({
casperjs: {
options: {
async: {
parallel: false
}
},
files: ['tests/casperjs/**/*.js']
},
})
By default, tests are run in series. If your tests are independent, you can run them in parallel.
casperjs: {
options: {
async: {
parallel: true
}
},
files: ['tests/casperjs/**/*.js']
}
CasperJS supports custom options passed via flags on the command line. These can be passed through to your tests via the options.custom
object in your Grunt config.
casperjs: {
options: {
custom: {
param: 'value'
}
}
}
To make use of your custom parameters in your test file, use casper.cli.get()
.
var casper = require('casper').create();
casper.start('http://www.google.nl/', function() {
this.test.assertEquals(casper.cli.get('param'), 'value');
});
The install.js script is responsible for searching for existing CasperJS installations in the path. If found, as of grunt-casperjs v1.2.0, that version of CasperJS will be used. If not found, a stable version of CasperJS will be installed (under review).
grunt-casperjs was tested with the currently stable version of CasperJS, 1.1.x
If you would like to use a different version of casperjs, install it yourself globally before installing grunt-casperjs. It will use that one.
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
- 1.3.0 Bump to using the latest version of CasperJs
- 1.2.1 CasperJS installations in path will be used
- 1.2.0 Cleaner fix for installing grunt
- 1.1.2 Fix for windows installation
- 1.1.1 Use latest version of PhantomJS ~1.9
- 1.0.10 Fix env-vars dumping
- 1.0.9 If user has local casperjs, use that first.
- 1.0.7 Options to run tests in parallel
- 1.0.5 Changelog started :)