1.1.1 • Published 10 years ago
gulp-galen v1.1.1
gulp-galen
A gulp plugin for using the galen-framework within a gulp based build toolchain.
Installation
npm install --save-dev gulp-galengulp-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'})Usage
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)
Options
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}"))check options
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
test options
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
global options
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-testsdoing the parallelization in one galen process)
Examples
Run some gspec against google.com:
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/'
}));
});Run some JavaScript based test suites:
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/'
}));
});