A gulp plugin for using the galen-framework within a gulp based build toolchain.
npm install --save-dev gulp-galen
gulp-galen
will search for galen in locally installed packages (npm install --save-dev galenframework
) and in $PATH.
If you have galen in other location use the galenPath
option to specify the correct path:
gulpGalen.check({galenPath: '/some/other/path/to/galen'})
var gulpGalen = require('gulp-galen');
This provides two gulp stream constructors:
gulpGalen.check(options, processOptions)
: runs a specified .gspec against a given url.gulpGalen.test(options, processOptions)
: runs a test against a given testsuite (JavaScript based or Galen test suite style)
All String options support some simple placeholders to be filled with information about the current file:
{basename}
: The current file’spath.basename()
{relative}
: The current file’s relative file name{path}
: The current file’s full path
This might especially be useful when generating reports. Example:
gulpGalen.check((htmlreport: "reports/{relative}"))
url
: a URL of page for Galen to test onjavascript
: a path for javascript file which Galen will inject in web pagesize
: dimensions of browser window. Consists of two numbers separated by “x” symbolinclude
: a comma separated list of tags for spec sections which will be included in testingexclude
: a comma separated list of tags for spec sections to be excluded from the filtered group
parallel-tests
: amount of threads for running tests in parallelrecursive
: flag which is used in case you want to search for all .test files recursively in folderfilter
: a filter for a test namegroups
: run only specified test groupsexcluded-groups
: exclude test groups
This options apply to both check
and test
.
galenPath
: if other then /usr/local/bin/galencwd
: change the working directory for the created processesproperties
: an object specifying properties (likegalen.browserFactory.selenium.grid.url
) to pass into galenhtmlreport
: path to folder in which Galen should generate HTML reportstestngreport
: path to xml file in which Galen should write TestNG reportjunitreport
: path to xml file in which Galen should write JUnit reportjsonreport
: path to folder in which Galen should generate JSON reportsparallel
: Allow multiple parallel galen processes (not to confuse withparallel-tests
doing the parallelization in one galen process)
var gulpGalen = require('gulp-galen');
gulp.task("test:galen", function() {
gulp.src('test/galen/**/*.gspec').pipe(gulpGalen.check({
url: 'https://www.google.com',
cwd: 'test/galen/'
}));
});
var gulpGalen = require('gulp-galen');
gulp.task("test:galen", function() {
gulp.src('test/galen/**/*.js').pipe(gulpGalen.test());
});
Run some JavaScript based test suites against a Selenium Grid:
var gulpGalen = require('gulp-galen');
var galenProperties = {
'galen.browserFactory.selenium.runInGrid': true,
'galen.browserFactory.selenium.grid.url': 'http://example.com:4444/wd/hub'
};
gulp.task("test:galen", function() {
gulp
.src('test/galen/**/*.js')
.pipe(gulpGalen.test({
properties: galenProperties,
cwd: 'test/galen/'
}));
});