7

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... :/

4

5 回答 5

2

From angular/protractor#2638:

Try installing Java through brew cask instead of the standard .pkg:

brew cask install java
于 2015-10-28T20:56:36.710 回答
2

add directConnect: true to protractor.conf.js

于 2016-02-24T20:27:53.780 回答
1

after receiving this error

node_modules/protractor/bin/protractor config/protractor.conf.js --specs ./e2e/spec.js
[14:17:54] I/launcher - Running 1 instances of WebDriver
[14:17:54] I/local - Starting selenium standalone server...
[14:17:54] E/launcher - Error: Error: Server terminated early with status 1
    at Error (native)
    at earlyTermination.catch.e (/hg/clients/ion/node_modules/protractor/node_modules/selenium-webdriver/remote/index.js:252:52)
    at process._tickCallback (internal/process/next_tick.js:103:7)
[14:17:54] E/launcher - Process exited with error code 100

I was able to run my tests after updating to use java 8

于 2017-02-16T21:20:16.913 回答
0

Two people on my team are having this same error (but not me for whatever reason). We're all running Protractor 2.5.1. We're all on Macs. We don't use gulp, so it's not that. Nor do we install via bower. Moving back to 2.45.0 does fix the issue, so it looks to be a WebdriverJS bug. I'll write up an issue once I get a chance to regress a bit (I don't see one on open yet).

于 2015-10-21T20:59:35.463 回答
0

Yes, as said by @caner, adding directConnect: true to protractor.conf.js solves the problem; I also added chromeOnly: true to the same file. Hopefully, this is helpful.

于 2016-06-24T08:12:59.753 回答