Grunt task for taking screenshots via the BrowserStack screenshot API.
This plugin requires Grunt ~0.4.2
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-browsersnapsy --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-browsersnapsy');
In your project's Gruntfile, the browsersnapsy
task is available to use.
You can run grunt browsersnapsy
standalone
Or add it to an existing task: grunt.registerTask('test', ['clean', 'browsersnapsy']);
options: {
user: '<username>',
token: '<access token>',
downloadTo: '<path to where screenshots should be saved>',
statusDelay: '<Delay between task polling BrowserStack for the screenshots\' status>',
waitTime: '<Initial delay for request to be made>',
abort: '<max number of pings for screenshot (* statusDelay)>',
tunnel: '<passed to node-BrowserStackTunnel>'
}
The browserstack
option object will be passed as the JSON-body in the request to BrowserStack. It can contain anything as specified in the docs. You might check the example here. For local tunnled testing please refer to node-BrowserStackTunnel and the local testing documentation at BrowserStack.
Developing on the task alone is fairly easy just git clone https://github.com/tdeekens/grunt-browsersnapsy.git
then cd grunt-browsersnapsy
. From there one has to link the package to itself via npm link && npm link grunt-browsersnapsy
which will allow for calling grunt dev
. Now just work the task/browsersnapsy.js
and check results - feel free to submit a pull-request!
- 0.0.1 First release - proof of concept
- 0.0.2 Improved error handling with BrowserStack's API
- 0.0.3 Handle authentification errors with BrowserStack
- 0.0.4 Prettifies logging of status
- 0.0.5 Add immediate downloading of available screenshots
- 0.0.6 Add support for maximum amount of tries to fetch screenshots
- 0.1.0 Add support for local testing (tunneling)
- 0.1.1 Improves logging of screenhots' status
- 0.1.2 Fix apiRoot for BrowserStack and ensure that
downloadTo
exists - 0.1.3 Add auto screenshot path generation
- Automatic image diffing against reference screenshots