gulp/e2e-tests.js
'use strict'
var path = require('path')
var gulp = require('gulp')
var conf = require('./conf')
var browserSync = require('browser-sync')
var $ = require('gulp-load-plugins')()
// Downloads the selenium webdriver
gulp.task('webdriver-update', $.protractor.webdriver_update)
gulp.task('webdriver-standalone', $.protractor.webdriver_standalone)
function runProtractor (done) {
var params = process.argv
var args = params.length > 3 ? [params[3], params[4]] : []
gulp.src(path.join(conf.paths.e2e, '/**/*.js'))
.pipe($.protractor.protractor({
configFile: 'protractor.conf.js',
args: args
}))
.on('error', function (err) {
// Make sure failed tests cause gulp to exit non-zero
throw err
})
.on('end', function () {
// Close browser sync server
browserSync.exit()
done()
})
}
gulp.task('protractor', ['protractor:src'])
gulp.task('protractor:src', ['serve:e2e', 'webdriver-update'], runProtractor)
gulp.task('protractor:dist', ['serve:e2e-dist', 'webdriver-update'], runProtractor)