I've been using Bangular (an excellent MEAN stack Yeoman generator) to create a project and all was going well until I did a recent series of npm updates to the project. Now on my project (and on their project too) I get an error when running their gulp-protractor task (which worked fine in the past).
I have included full output for reference, in case it helps - error is half way down (scroll the code box):
Jamess-MacBook-Pro:test jamessherry$ gulp e2e
[10:05:48] Using gulpfile ~/sites/test/gulpfile.js
[10:05:48] Starting 'sass'...
[10:05:48] Finished 'sass' after 30 ms
[10:05:48] Starting 'inject'...
[10:05:48] gulp-inject 7 files into index.html.
[10:05:48] gulp-inject 11 files into index.html.
[10:05:48] Finished 'inject' after 80 ms
[10:05:48] Starting 'watch'...
[10:05:48] Finished 'watch' after 27 ms
[10:05:48] Starting 'nodemon'...
[10:05:48] [nodemon] 1.7.1
[10:05:48] [nodemon] to restart at any time, enter `rs`
[10:05:48] [nodemon] watching: *.*
[10:05:48] [nodemon] starting `node server/server.js`
Express server listening on port 9000, in development mode.
[10:05:49] Finished 'nodemon' after 898 ms
[10:05:49] Starting 'serve'...
[10:05:49] Finished 'serve' after 41 ms
[10:05:49] Starting 'e2e'...
[10:05:49] Finished 'e2e' after 1.51 ms
GET / 200 5.859 ms - 1854
[BS] Proxying: http://localhost:9000
[BS] Access URLs:
----------------------------
Local: http://localhost:3000
----------------------------
UI: http://localhost:3001
----------------------------
GET / 200 3.146 ms - 1854
GET /bower_components/angular/angular.js 304 3.598 ms - -
GET /bower_components/angular-route/angular-route.js 304 3.977 ms - -
GET /bower_components/angular-cookies/angular-cookies.js 304 3.671 ms - -
GET /styles/css/app.css 200 9.292 ms - 36
GET /bower_components/angular-resource/angular-resource.js 304 8.992 ms - -
GET /bower_components/angular-sanitize/angular-sanitize.js 304 2.055 ms - -
GET /bower_components/angular-animate/angular-animate.js 304 0.819 ms - -
GET /bower_components/angular-socket-io/socket.js 304 1.741 ms - -
GET /app.js 304 1.870 ms - -
GET /views/signup/signup.js 304 1.729 ms - -
GET /views/signup/signup.controller.js 304 0.322 ms - -
Starting selenium standalone server...
GET /views/login/login.js 304 1.931 ms - -
GET /views/login/login.controller.js 304 0.487 ms - -
GET /views/home/home.js 304 1.295 ms - -
GET /views/home/home.controller.js 304 1.538 ms - -
GET /services/socket/socket.service.js 304 1.754 ms - -
GET /services/socket/socket.mock.js 304 1.707 ms - -
[launcher] Running 1 instances of WebDriver
GET /services/auth/auth.js 304 1.208 ms - -
GET /directives/nav-bar/nav-bar.directive.js 304 1.355 ms - -
GET /bower_components/angular/angular.js 304 0.298 ms - -
GET /bower_components/angular-route/angular-route.js 304 0.380 ms - -
GET /bower_components/angular-cookies/angular-cookies.js 304 0.545 ms - -
GET /bower_components/angular-resource/angular-resource.js 304 1.083 ms - -
GET /bower_components/angular-sanitize/angular-sanitize.js 304 0.757 ms - -
GET /bower_components/angular-animate/angular-animate.js 304 0.287 ms - -
GET /app.js 304 0.347 ms - -
GET /views/signup/signup.js 304 0.246 ms - -
GET /views/signup/signup.controller.js 304 0.667 ms - -
GET /views/login/login.controller.js 304 0.378 ms - -
GET /views/home/home.js 304 0.447 ms - -
[launcher] Process exited with error code 1
/Users/jamessherry/sites/test/node_modules/gulp-protractor/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/async/nexttick.js:41
goog.global.setTimeout(function() { throw exception; }, 0);
^
Error: Server terminated early with status 1
at Error (native)
at /Users/jamessherry/sites/test/node_modules/gulp-protractor/node_modules/protractor/node_modules/selenium-webdriver/remote/index.js:204:18
at promise.ControlFlow.runInFrame_ (/Users/jamessherry/sites/test/node_modules/gulp-protractor/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1857:20)
at goog.defineClass.notify (/Users/jamessherry/sites/test/node_modules/gulp-protractor/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:2448:25)
at promise.Promise.notify_ (/Users/jamessherry/sites/test/node_modules/gulp-protractor/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:564:12)
at Array.forEach (native)
at promise.Promise.notifyAll_ (/Users/jamessherry/sites/test/node_modules/gulp-protractor/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:553:15)
at goog.async.run.processWorkQueue (/Users/jamessherry/sites/test/node_modules/gulp-protractor/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/async/run.js:130:15)
at process._tickCallback (node.js:356:9)
GET /views/home/home.controller.js 304 0.508 ms - -
[10:05:50] protractor exited with code 1
Jamess-MacBook-Pro:test
jamessherry$
I'm not sure what the error code means (as in '1' means 'not passing', but what does that mean - was it tests that failed, or the did the driver crash out for some reason??
I'm pretty sure that it's an issue of packages not working well together as they are updated; I'm just hoping that someone can throw light on it, or may have experienced similar recently in some way...
Thanks
UPDATE
On initial investigation it appears that this problem doesn't occur with selenium version 2.45.0. Now, exactly where in the chain of 'gulp protractor -> protractor -> webdriver -> selenium' that error occurs is up for discussion. I think this is going to end with an automation patch being required or... :/