You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 18, 2018. It is now read-only.
Unmaintained notice: As of December 22nd 2017 this project will no longer be maintained. What started out as a creative experiment four years ago became a significant tool in Huddle's Web development workflow, as well as the workflows of external Web engineers. But like PhantomCSS, its time to move on.
If you are unfamilar with Grunt check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins.
npm install grunt-phantomflow --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-phantomflow');
Setup
grunt.config.set('phantomflow',{app: {/* How many threads would you like to parallelise on? Default value is 4 */threads: 4,/* Any command line options to be passed down to casper? Example: ['--cookies-file=testcookies.txt'] Default value is [] */casperArgs: [],/* Should a report/visualisation be generated after the test run? Default value is false */createReport: false,/* Should the report output live somewhere else, e.g. for proxying through a real webserver? Example: '../visualtest/htdocs' Default value is undefined. If unset, the default set by PhantomFlow will be used. */reports: null,/* Do you have scripts to include? Default value is ./include */includes: './include',/* Where do the tests live? Default value is ./test */tests: './test',/* Where should the results go? Default value is ./test-results */results: './test-results',/* Hide elements in the page */hideElements: ['img','input']}});
Command line parameters
Running a specific test
If you're working on a test you can use the test parameter to run a specific test file. The value can be a substring of the file name. Please note that test filenames should follow the *.test.js naming convention.
grunt phantomflow:websitetests --test=mytestfile
Reporting
To show the PhantomFlow visualisation use the 'report' param. You need to have previously generated a report by setting the createReport option to true. Tests will not be executed when the 'report' param is used. The previously generated visualisation will open in your browser.
grunt phantomflow:websitetests --report
Multithreading
By default phantomflow will divide and execute groups of tests concurrantly on different threads. By default this is 4 threads
Use the thread parameter to increase the amount of threads and reduce the feedback time.
grunt phantomflow:websitetests --threads=8
Debugging
Show more logging: grunt phantomflow:websitetests --debug=1
Save screenshots and show more logging: grunt phantomflow:websitetests --debug=2
By default phantomflow will not abort when a test fails, set the earlyexit parameter to true stop the tests upon seeing the first failure.
grunt phantomflow:websitetests --earlyexit=true
Remote debugging using Web Inspector.
PhantomJS supports remote debugging. The following grunt options allow you to start phantom with the correct options.