1 | 'use strict';
|
2 |
|
3 | var gulp = require('gulp');
|
4 | require('gulp-help')(gulp);
|
5 | var gp = require('gulp-protractor');
|
6 | var args = require('yargs').argv;
|
7 | var express = require('express');
|
8 | var http = require('http');
|
9 | var server = http.createServer(express().use(express.static(__dirname + '/build/')));
|
10 | var isCI = args.type === 'ci';
|
11 |
|
12 |
|
13 | gulp.task('e2etests:webdriver_manager_update', 'updates the selenium server standalone jar file ', gp.webdriver_update);
|
14 |
|
15 | gulp.task('e2etests:run', 'runs e2etests using protractor.conf', ['e2etests:server', 'e2etests:webdriver_manager_update'], function(cb) {
|
16 |
|
17 | gulp.src(['tests/e2e/**/*.js'], { read: false })
|
18 | .pipe(gp.protractor({
|
19 | configFile: 'protractor.conf.js',
|
20 | args: ['--baseUrl', 'http://' + server.address().address + ':' + server.address().port]
|
21 | })).on('error', function(e) {
|
22 | server.close();
|
23 | if (isCI) {
|
24 | throw e;
|
25 | } else {
|
26 | console.log(e);
|
27 | }
|
28 | cb();
|
29 | }).on('end', function() {
|
30 | server.close();
|
31 | cb();
|
32 | });
|
33 | });
|
34 |
|
35 | gulp.task('e2etests:server', 'starts a development webserver', function(cb) {
|
36 | server.listen(9001, 'localhost', cb);
|
37 | });
|