A gulp-plugin for using the galen-framework within a gulp-based build toolchain
npm install gulp-galen


A gulp plugin for using the galen-framework within a gulp based build toolchain.
``Shell`
npm install --save-dev gulp-galen
gulp-galen will search for galen in locally installed packages (npm install --save-dev galenframework) and in $PATH. galenPath
If you have galen in other location use the option to specify the correct path:
`JavaScript`
gulpGalen.check({galenPath: '/some/other/path/to/galen'})
`JavaScript`
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’s path.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:
`JavaScript`
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 (like galen.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 with parallel-tests doing the parallelization in one galen process)
`JavaScript
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/'
}));
});
`
`JavaScript
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:
`JavaScript
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/'
}));
});
``