Skip to content
This repository has been archived by the owner on Jul 29, 2024. It is now read-only.

Failed to start protractor 5.0.0 with specifying Selenium server Jar option #3986

Closed
IgalOre opened this issue Jan 19, 2017 · 4 comments
Closed

Comments

@IgalOre
Copy link

IgalOre commented Jan 19, 2017

Bug report

  • Node Version: 6.9.1
  • Protractor Version: 5.0.0
  • Angular Version: 1.5.8
  • Browser(s): IE 32bit, 11
  • Operating System and Version Windows 7 SP1 64 bit
  • Your protractor configuration file
exports.config = {
    seleniumServerJar: '../../node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.0.1.jar',
    specs: ['**/*-spec.js'],
    baseUrl: 'http://localhost:3000',
    directConnect: false,
    capabilities: {
        browserName: 'internet explorer'
    },
    // localSeleniumStandaloneOpts: {
    //     /**
    //      * Additional command line jvm options to pass to selenium. For example,
    //      * if you need to change the browser driver, use
    //      * jvmArgs: ['-Dwebdriver.ie.driver=IEDriverServer_Win32_2.53.1.exe']
    //      */
    //     jvmArgs: '-Dwebdriver.ie.driver=../../node_modules/protractor/node_modules/webdriver-manager/selenium/IEDriverServer_Win32_2.53.1.exe'
    //   },
    jvmArgs: '-Dwebdriver.ie.driver=../../node_modules/protractor/node_modules/webdriver-manager/selenium/IEDriverServer_Win32_3.0.0.exe',
    onPrepare: function() {
        'use strict';
        var reporters = require('jasmine-reporters');
        jasmine.getEnv().addReporter(new reporters.TeamCityReporter());
        var junitReporter = new reporters.JUnitXmlReporter({savePath: 'test/coverage/protractor/', filePrefix: 'UI-TEST-results'});
        jasmine.getEnv().addReporter(junitReporter);
    }
};
  • A relevant example test
  • Output from running the test
[16:02:47] Starting 'protractor-run'...
[16:02:48] D/launcher - Running with --troubleshoot
[16:02:48] D/launcher - Protractor version: 5.0.0
[16:02:48] D/launcher - Your base url for tests is http://localhost:3000
[16:02:48] I/local - Starting selenium standalone server...
[16:02:48] I/launcher - Running 1 instances of WebDriver
(node:15908) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Server terminated early with status 1
[16:02:50] E/launcher - BUG: launcher exited with 1 tasks remaining
[16:02:50] Protractor run failed with code : 100
[16:02:50] Finished 'protractor-run' after 2.31 s

Process finished with exit code 0
  • Steps to reproduce the bug
    Attempt to start Protractor suite with protractor script
    .\node_modules.bin\protractor test\protractor\protractor-ci.conf.js --troubleshoot

  • The URL you are running your tests against (if relevant)

I also attempted to put jvmArgs config parameter inside localSeleniumStandaloneOpts, but obtained same result.

If removing jvmArgs obtained next output:

[16:12:32] Starting 'protractor-run'...
[16:12:33] D/launcher - Running with --troubleshoot
[16:12:33] D/launcher - Protractor version: 5.0.0
[16:12:33] D/launcher - Your base url for tests is http://localhost:3000
[16:12:33] I/local - Starting selenium standalone server...
[16:12:33] I/launcher - Running 1 instances of WebDriver
[16:12:33] I/local - Selenium standalone server started at http://172.16.202.79:57869/wd/hub
[16:12:34] E/launcher - The path to the driver executable must be set by the webdriver.ie.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://selenium-release.storage.googleapis.com/index.html
[16:12:34] E/launcher - WebDriverError: The path to the driver executable must be set by the webdriver.ie.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://selenium-release.storage.googleapis.com/index.html
    at WebDriverError (C:\Source\Git\ui-commons\ui_s6_11178\ui-widgets\node_modules\selenium-webdriver\lib\error.js:27:5)
    at Object.checkLegacyResponse (C:\Source\Git\ui-commons\ui_s6_11178\ui-widgets\node_modules\selenium-webdriver\lib\error.js:505:15)
    at parseHttpResponse (C:\Source\Git\ui-commons\ui_s6_11178\ui-widgets\node_modules\selenium-webdriver\lib\http.js:509:13)
    at doSend.then.response (C:\Source\Git\ui-commons\ui_s6_11178\ui-widgets\node_modules\selenium-webdriver\lib\http.js:440:13)
    at process._tickCallback (internal/process/next_tick.js:103:7)
From: Task: WebDriver.createSession()
    at Function.createSession (C:\Source\Git\ui-commons\ui_s6_11178\ui-widgets\node_modules\selenium-webdriver\lib\webdriver.js:777:24)
    at createDriver (C:\Source\Git\ui-commons\ui_s6_11178\ui-widgets\node_modules\selenium-webdriver\index.js:167:33)
    at Builder.build (C:\Source\Git\ui-commons\ui_s6_11178\ui-widgets\node_modules\selenium-webdriver\index.js:632:14)
    at Local.getNewDriver (C:\Source\Git\ui-commons\ui_s6_11178\ui-widgets\node_modules\protractor\lib\driverProviders\driverProvider.ts:57:29)
    at Runner.createBrowser (C:\Source\Git\ui-commons\ui_s6_11178\ui-widgets\node_modules\protractor\lib\runner.ts:187:39)
    at driverprovider_.setupEnv.then (C:\Source\Git\ui-commons\ui_s6_11178\ui-widgets\node_modules\protractor\lib\runner.ts:279:27)
    at _fulfilled (C:\Source\Git\ui-commons\ui_s6_11178\ui-widgets\node_modules\q\q.js:834:54)
    at self.promiseDispatch.done (C:\Source\Git\ui-commons\ui_s6_11178\ui-widgets\node_modules\q\q.js:863:30)
    at Promise.promise.promiseDispatch (C:\Source\Git\ui-commons\ui_s6_11178\ui-widgets\node_modules\q\q.js:796:13)
    at C:\Source\Git\ui-commons\ui_s6_11178\ui-widgets\node_modules\q\q.js:604:44
[16:12:34] E/launcher - Process exited with error code 199
[16:12:34] Protractor run failed with code : 199
[16:12:34] Finished 'protractor-run' after 1.96 s

Process finished with exit code 0
@heathkit heathkit added this to the 5.1 milestone Jan 19, 2017
@heathkit
Copy link
Contributor

I suspect the issue is that the selenium server is failing to start, but we don't relay the error message properly. If I had to take a guess, I'd suggest trying something like jvmArgs: ['-Dwebdriver.ie.driver=./IEDriverServer_Win32_3.0.0.exe'], since I think the path to IEDriverServer needs to be relative to the jar. Also, note that jvmArgs needs to be an array.

We should handle the promise rejection, though. Should be a quick fix.

@IgalOre
Copy link
Author

IgalOre commented Jan 19, 2017

Argh, you are absolutely correct, should pay for glasses to see better what it is written on documentation site, it's the array notation that were missing out there ...
thank you @mgiambalvo !
Tested and with correction working ....

@heathkit
Copy link
Contributor

Glad it's working. Also, the best way to do this is probably to use webdriver-manager, which comes bundled with Protractor.

webdriver-manager update --ie32 --versions.ie 3.0.0 --versions.standalone 3.0.1
webdriver-manager start --ie32 --versions.ie 3.0.0 --versions.standalone 3.0.1

@IgalOre
Copy link
Author

IgalOre commented Jan 20, 2017

For your comment about using webdriver-manager, i had encountered another issue that java process created not shutdown correctly with shutdown command... For a moment i had posed question on SO . Would need to create another bug report. I were not sure if it's issue of Protractor or Selenium...

igniteram pushed a commit to igniteram/protractor that referenced this issue Feb 21, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants