protractor: Tests fail after upgrade to version 0.20.1

I’m in the process of rewriting the e2e tests from the angularfire-seed to use protractor instead of karma/angular-scenario and experience some unsurmountable issues. Please let me know how I can help to narrow the issue further.

After upgrading using the following statements on a mac os x 10.6.8

# npm update -g protractor
/usr/local/share/npm/bin/protractor -> /usr/local/share/npm/lib/node_modules/protractor/bin/protractor
/usr/local/share/npm/bin/webdriver-manager -> /usr/local/share/npm/lib/node_modules/protractor/bin/webdriver-manager
protractor@0.20.1 /usr/local/share/npm/lib/node_modules/protractor
├── saucelabs@0.1.1
├── q@1.0.0
├── minijasminenode@0.2.7
├── adm-zip@0.4.4
├── selenium-webdriver@2.40.0
├── optimist@0.6.1 (wordwrap@0.0.2, minimist@0.0.8)
└── glob@3.2.9 (inherits@2.0.1, minimatch@0.2.14)

# webdriver-manager update
Updating selenium standalone
downloading http://selenium-release.storage.googleapis.com/2.40/selenium-server-standalone-2.40.0.jar...
Updating chromedriver
downloading https://chromedriver.storage.googleapis.com/2.9/chromedriver_mac32.zip...
chromedriver_2.9.zip downloaded to /usr/local/share/npm/lib/node_modules/protractor/selenium/chromedriver_2.9.zip
selenium-server-standalone-2.40.0.jar downloaded to /usr/local/share/npm/lib/node_modules/protractor/selenium/selenium-server-standalone-2.40.0.jar

all previously passing tests fail as follows:

# protractor test/protractor.conf.js 

------------------------------------
PID: 86484 (capability: chrome #1)
------------------------------------

Starting selenium standalone server...
Selenium standalone server started at http://10.141.161.87:62864/wd/hub
FFFFFFFFF

Failures:

  1) my app should automatically redirect to /home when location hash/fragment is empty
   Message:
     UnknownError: unknown error: unhandled inspector error: {"code":-32603,"message":"Cannot navigate to invalid URL"}
  (Session info: chrome=33.0.1750.152)
  (Driver info: chromedriver=2.9.248307,platform=Mac OS X 10.6.8 x86) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.19 seconds
Build info: version: '2.40.0', revision: 'fbe29a9', time: '2014-02-19 20:54:28'
System info: host: 'akrubic.local', ip: '10.141.161.87', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.6.8', java.version: '1.6.0_65'
Session ID: 205c4ba1bb21eb167b9b28ca8a858252
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=MAC, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=/var/folders/rw/rw1quTqkG0OG+Z3EziQH+k+++TI/-Tmp-/.org.chromium.Chromium.MzgZMT}, rotatable=false, locationContextEnabled=true, version=33.0.1750.152, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, nativeEvents=true, webStorageEnabled=true, applicationCacheEnabled=false, takesScreenshot=true}]
   Stacktrace:
     Error: 
  at [object Object].<anonymous> (/Users/akrubic/Development/StartUpWeekend/ajsfire_statistified/test/e2e/myapp.spec.js:4:3)
  at Object.<anonymous> (/Users/akrubic/Development/StartUpWeekend/ajsfire_statistified/test/e2e/myapp.spec.js:1:63)
  at require (module.js:380:17)
  at /usr/local/share/npm/lib/node_modules/protractor/lib/runner.js:71:12

At async task:
      UnknownError: unknown error: unhandled inspector error: {"code":-32603,"message":"Cannot navigate to invalid URL"}
  (Session info: chrome=33.0.1750.152)
  (Driver info: chromedriver=2.9.248307,platform=Mac OS X 10.6.8 x86) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.19 seconds
Build info: version: '2.40.0', revision: 'fbe29a9', time: '2014-02-19 20:54:28'
System info: host: 'akrubic.local', ip: '10.141.161.87', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.6.8', java.version: '1.6.0_65'
Session ID: 205c4ba1bb21eb167b9b28ca8a858252
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=MAC, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=/var/folders/rw/rw1quTqkG0OG+Z3EziQH+k+++TI/-Tmp-/.org.chromium.Chromium.MzgZMT}, rotatable=false, locationContextEnabled=true, version=33.0.1750.152, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, nativeEvents=true, webStorageEnabled=true, applicationCacheEnabled=false, takesScreenshot=true}]
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
==== async task ====
WebDriver.navigate().to(app/index.html)
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
==== async task ====
asynchronous test function
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>

  2) my app should automatically redirect to /home when location hash/fragment is empty
   Message:
     Error: Error while waiting for Protractor to sync with the page: {}
   Stacktrace:
     Error: 
  at [object Object].<anonymous> (/Users/akrubic/Development/StartUpWeekend/ajsfire_statistified/test/e2e/myapp.spec.js:9:3)
  at Object.<anonymous> (/Users/akrubic/Development/StartUpWeekend/ajsfire_statistified/test/e2e/myapp.spec.js:1:63)
  at require (module.js:380:17)
  at /usr/local/share/npm/lib/node_modules/protractor/lib/runner.js:71:12

At async task:
      Error: Error while waiting for Protractor to sync with the page: {}
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
==== async task ====
WebDriver.executeScript()
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
==== async task ====
asynchronous test function
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>

....

  30) my app login should log in with valid fields
   Message:
     Error: Error while waiting for Protractor to sync with the page: {}
   Stacktrace:
     Error: 
  at [object Object].<anonymous> (/Users/akrubic/Development/StartUpWeekend/ajsfire_statistified/test/e2e/myapp.spec.js:140:5)
  at [object Object].<anonymous> (/Users/akrubic/Development/StartUpWeekend/ajsfire_statistified/test/e2e/myapp.spec.js:94:3)
  at Object.<anonymous> (/Users/akrubic/Development/StartUpWeekend/ajsfire_statistified/test/e2e/myapp.spec.js:1:63)
  at require (module.js:380:17)
  at /usr/local/share/npm/lib/node_modules/protractor/lib/runner.js:71:12

At async task:
      Error: Error while waiting for Protractor to sync with the page: {}
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
==== async task ====
WebDriver.executeScript()
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
==== async task ====
asynchronous test function
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>

  31) my app login should log in with valid fields
   Message:
     UnknownError: javascript error: angular is not defined
JavaScript stack:
ReferenceError: angular is not defined
    at eval (eval at executeAsyncScript (unknown source), <anonymous>:8:27)
    at eval (eval at executeAsyncScript (unknown source), <anonymous>:12:10)
    at eval (eval at executeAsyncScript (unknown source), <anonymous>:12:36)
    at executeAsyncScript (<anonymous>:314:26)
    at <anonymous>:330:29
    at callFunction (<anonymous>:222:33)
    at <anonymous>:232:23
    at <anonymous>:233:3
    at Object.InjectedScript._evaluateOn (<anonymous>:613:39)
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:573:52)
  (Session info: chrome=33.0.1750.152)
  (Driver info: chromedriver=2.9.248307,platform=Mac OS X 10.6.8 x86) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 9 milliseconds
Build info: version: '2.40.0', revision: 'fbe29a9', time: '2014-02-19 20:54:28'
System info: host: 'akrubic.local', ip: '10.141.161.87', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.6.8', java.version: '1.6.0_65'
Session ID: d48d6d3b167a37417e5d82f75ad3f338
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=MAC, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=/var/folders/rw/rw1quTqkG0OG+Z3EziQH+k+++TI/-Tmp-/.org.chromium.Chromium.ka6R37}, rotatable=false, locationContextEnabled=true, version=33.0.1750.152, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, nativeEvents=true, webStorageEnabled=true, applicationCacheEnabled=false, takesScreenshot=true}]
   Stacktrace:
     Error: 
  at [object Object].<anonymous> (/Users/akrubic/Development/StartUpWeekend/ajsfire_statistified/test/e2e/myapp.spec.js:100:5)
  at [object Object].<anonymous> (/Users/akrubic/Development/StartUpWeekend/ajsfire_statistified/test/e2e/myapp.spec.js:94:3)
  at Object.<anonymous> (/Users/akrubic/Development/StartUpWeekend/ajsfire_statistified/test/e2e/myapp.spec.js:1:63)
  at require (module.js:380:17)
  at /usr/local/share/npm/lib/node_modules/protractor/lib/runner.js:71:12

At async task:
      UnknownError: javascript error: angular is not defined
JavaScript stack:
ReferenceError: angular is not defined
    at eval (eval at executeAsyncScript (unknown source), <anonymous>:8:27)
    at eval (eval at executeAsyncScript (unknown source), <anonymous>:12:10)
    at eval (eval at executeAsyncScript (unknown source), <anonymous>:12:36)
    at executeAsyncScript (<anonymous>:314:26)
    at <anonymous>:330:29
    at callFunction (<anonymous>:222:33)
    at <anonymous>:232:23
    at <anonymous>:233:3
    at Object.InjectedScript._evaluateOn (<anonymous>:613:39)
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:573:52)
  (Session info: chrome=33.0.1750.152)
  (Driver info: chromedriver=2.9.248307,platform=Mac OS X 10.6.8 x86) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 9 milliseconds
Build info: version: '2.40.0', revision: 'fbe29a9', time: '2014-02-19 20:54:28'
System info: host: 'akrubic.local', ip: '10.141.161.87', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.6.8', java.version: '1.6.0_65'
Session ID: d48d6d3b167a37417e5d82f75ad3f338
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=MAC, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=/var/folders/rw/rw1quTqkG0OG+Z3EziQH+k+++TI/-Tmp-/.org.chromium.Chromium.ka6R37}, rotatable=false, locationContextEnabled=true, version=33.0.1750.152, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, nativeEvents=true, webStorageEnabled=true, applicationCacheEnabled=false, takesScreenshot=true}]
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
==== async task ====
WebDriver.executeScript()
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
==== async task ====
asynchronous test function
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>
    at <anonymous>

Finished in 43.691 seconds
9 tests, 31 assertions, 31 failures

Shutting down selenium standalone server.

Before the upgrade the tests seemed to pass, but it failed in the results gathering phase:

# protractor test/protractor.conf.js 

------------------------------------
PID: 84638 (capability: chrome #1)
------------------------------------

Starting selenium standalone server...
Selenium standalone server started at http://10.141.161.87:55907/wd/hub
Started
.........

9 specs, 0 failures
Finished in 30.43 seconds

/usr/local/share/npm/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1549
      throw error;
            ^
TypeError: Object  has no method 'results'
    at jasmineNodeOpts.onComplete (/usr/local/share/npm/lib/node_modules/protractor/lib/runner.js:47:19)
    at jasmineDone (/usr/local/share/npm/lib/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-console.js:79:5)
    at dispatch (/usr/local/share/npm/lib/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-2.0.0.js:1566:28)
    at /usr/local/share/npm/lib/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-2.0.0.js:1549:11
    at QueueRunner.clearStack (/usr/local/share/npm/lib/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-2.0.0.js:506:9)
    at QueueRunner.run (/usr/local/share/npm/lib/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-2.0.0.js:1505:12)
    at next (/usr/local/share/npm/lib/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-2.0.0.js:1517:37)
    at complete (/usr/local/share/npm/lib/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-2.0.0.js:1703:9)
    at QueueRunner.clearStack (/usr/local/share/npm/lib/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-2.0.0.js:506:9)
    at QueueRunner.run (/usr/local/share/npm/lib/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-2.0.0.js:1505:12)
==== async task ====
WebDriver.executeScript()
    at webdriver.WebDriver.schedule (/usr/local/share/npm/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:267:15)
    at webdriver.WebDriver.executeAsyncScript (/usr/local/share/npm/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:507:15)
    at /Users/akrubic/Development/StartUpWeekend/ajsfire_statistified/test/e2e/myapp.spec.js:102:22
    at /usr/local/share/npm/lib/node_modules/protractor/jasminewd/index.js:54:12
    at webdriver.promise.ControlFlow.runInNewFrame_ (/usr/local/share/npm/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1445:20)
    at webdriver.promise.ControlFlow.runEventLoop_ (/usr/local/share/npm/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1310:8)
    at wrapper [as _onTimeout] (timers.js:252:14)
    at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
==== async task ====
    at Object.<anonymous> (/usr/local/share/npm/lib/node_modules/protractor/jasminewd/index.js:53:12)
    at Object.<anonymous> (/usr/local/share/npm/lib/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-2.0.0.js:290:12)
    at attemptAsync (/usr/local/share/npm/lib/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-2.0.0.js:1520:12)
    at QueueRunner.run (/usr/local/share/npm/lib/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-2.0.0.js:1496:16)
    at next (/usr/local/share/npm/lib/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-2.0.0.js:1517:37)
    at callDone (/usr/local/share/npm/lib/node_modules/protractor/node_modules/minijasminenode/lib/jasmine-2.0.0.js:287:11)
    at /usr/local/share/npm/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/base.js:1178:15
    at webdriver.promise.ControlFlow.runInNewFrame_ (/usr/local/share/npm/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1445:20)
    at notify (/usr/local/share/npm/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:328:12)
[launcher] Runner Process Exited With Error Code: 8

About this issue

  • Original URL
  • State: closed
  • Created 10 years ago
  • Comments: 15 (4 by maintainers)

Most upvoted comments

Just a small side note, if you are running protractor with grunt, the selenium jar must be updated in the grunt-protractor-runner dir.

So the command is:

 ./node_modules/grunt-protractor-runner/node_modules/protractor/bin/webdriver-manager update

I was first updating it at: ./node_modules/protractor/ and that would only work when you run protractor from command line.

I post this because others may find it useful.