Grunt task for taking screenshots via the BrowserStack screenshot API.
This plugin requires Grunt
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
The "browsersnapsy" task
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>'
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 & Contributing
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
- 0.1.3 Add auto screenshot path generation
- Automatic image diffing against reference screenshots