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

Unhandled 'error' event on webdriver-manager update #3382

Closed
nickwerline opened this issue Jul 15, 2016 · 9 comments
Closed

Unhandled 'error' event on webdriver-manager update #3382

nickwerline opened this issue Jul 15, 2016 · 9 comments

Comments

@nickwerline
Copy link

  • Node Version: 4.4.7
  • Protractor Version: 4.0.0
  • Operating System and Version: Windows 7 SP1

I posted this same issue in the webdriver GitHub, but since the error code is giving Protractor in the path I thought I would put it here as well. I apologize if this is not the right place.

I am trying to upgrade to Protractor 4 and I encountered some errors when updating webdriver-manager. If it matters, I am behind a corporate proxy, but the proxy option has worked fine for webdriver-manager before the Protractor 4 release. And it appears to have worked correctly for updating the chrome and ie32 drivers.

'protractor --version' gives Version 4.0.0.

'webdriver-manager update ' gives the following error with or without the proxy option:

events.js:141
      throw er; // Unhandled 'error' event
      ^

Error: connect ETIMEDOUT 74.125.21.128:443
    at Object.exports._errnoException (util.js:873:11)
    at exports._exceptionWithHostPort (util.js:896:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1077:14)

This error is sometimes preceded by the following, but only always.

[15:07:47] I/downloader - selenium standalone: downloading version 2.53.1
[15:07:47] I/downloader - curl -o C:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium/selenium-server-standalone-2.53.1.jar https://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-
2.53.1.jar

The following error occurs when running 'webdriver-manager start' with or without the proxy option.

[14:51:52] I/start - java -jar C:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium\selenium-server-standalone-2.53.1.jar -Dwebdriver.chrome.driver=C:\Program Files\nodejs\node_modules\protractor\node_modu
les\webdriver-manager\selenium\chromedriver_2.22.exe -Dwebdriver.ie.driver=C:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium\IEDriverServer_x64_2.53.1.exe -Dwebdriver.edge.driver=C:\Program Files (x86)\
Microsoft Web Driver\MicrosoftWebDriver.exe
[14:51:52] I/start - seleniumProcess.pid: 32800
Error: Invalid or corrupt jarfile C:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium\selenium-server-standalone-2.53.1.jar
[14:51:52] I/start - Selenium Standalone has exited with code 1
@cnishina
Copy link
Member

This means that your jar file was not properly downloaded. This is an odd error since webdriver-manager checks to see if the jar size and content-length from the header match. If it does not match, it should unlink the file from the file system.

When you run webdriver-manager update, do your logs say that your file is corrupt but you can still do a webdriver-manager start? I'm trying to narrow down if your file is not being removed from your file system when running update. If you do, then please add it to this issue: angular/webdriver-manager#63

The best way to resolve this is to remove the jar file and do an update again:

  • webdriver-manager clean to remove your files
  • webdriver-manager update to download your binaries again

@nickwerline
Copy link
Author

It seems to still encounter the same error after cleaning.

Are there log files created or are you just talking about the console output? I copied everything that came from the command line. It never mentioned I could start it, but I just wrote what happened when I did try to run the start command.

With proxy

C:\Users\nwerline>webdriver-manager clean
[14:09:01] I/file_manager - removed chromedriver_2.22.exe
[14:09:01] I/file_manager - removed chromedriver_2.22win32.zip
[14:09:01] I/file_manager - removed IEDriverServer_Win32_2.53.1.exe
[14:09:01] I/file_manager - removed IEDriverServer_Win32_2.53.1.zip
[14:09:01] I/file_manager - removed selenium-server-standalone-2.53.1.jar
C:\Users\nwerline>webdriver-manager update --ie32 --proxy (the_company_proxy_site)
[14:09:31] I/downloader - selenium standalone: downloading version 2.53.1
[14:09:31] I/downloader - curl -o C:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium/selenium-server-standalone-2.53.1.jar https://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-
2.53.1.jar
[14:09:31] I/downloader - chromedriver: downloading version 2.22
[14:09:31] I/downloader - curl -o C:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium/chromedriver_2.22win32.zip https://chromedriver.storage.googleapis.com/2.22/chromedriver_win32.zip
[14:09:31] I/downloader - IEDriverServer: downloading version _Win32_2.53.1
[14:09:31] I/downloader - curl -o C:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium/IEDriverServer_Win32_2.53.1.zip https://selenium-release.storage.googleapis.com/2.53/IEDriverServer_Win32_2.53.1.zip
[14:09:31] I/update - IEDriverServer: unzipping C:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium\IEDriverServer_Win32_2.53.1.zip
[14:09:32] I/update - chromedriver: unzipping C:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_2.22win32.zip
[14:09:52] E/downloader - Error: Got error Error: connect ETIMEDOUT 74.125.21.128:443 from https://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar

Without proxy

C:\Users\nwerline>webdriver-manager clean
[14:15:49] I/file_manager - removed chromedriver_2.22.exe
[14:15:49] I/file_manager - removed chromedriver_2.22win32.zip
[14:15:49] I/file_manager - removed IEDriverServer_Win32_2.53.1.exe
[14:15:49] I/file_manager - removed IEDriverServer_Win32_2.53.1.zip
C:\Users\nwerline>webdriver-manager update --ie32
[14:15:58] I/downloader - selenium standalone: downloading version 2.53.1
[14:15:58] I/downloader - curl -o C:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium/selenium-server-standalone-2.53.1.jar https://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-
2.53.1.jar
[14:15:58] I/downloader - chromedriver: downloading version 2.22
[14:15:58] I/downloader - curl -o C:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium/chromedriver_2.22win32.zip https://chromedriver.storage.googleapis.com/2.22/chromedriver_win32.zip
[14:15:58] I/downloader - IEDriverServer: downloading version _Win32_2.53.1
[14:15:58] I/downloader - curl -o C:\Program Files\nodejs\node_modules\protractor\node_modules\webdriver-manager\selenium/IEDriverServer_Win32_2.53.1.zip https://selenium-release.storage.googleapis.com/2.53/IEDriverServer_Win32_2.53.1.zip
[14:16:19] E/downloader - Error: Got error Error: connect ETIMEDOUT 74.125.21.128:443 from https://chromedriver.storage.googleapis.com/2.22/chromedriver_win32.zip
[14:16:19] E/downloader - Error: Got error Error: connect ETIMEDOUT 74.125.21.128:443 from https://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar
[14:16:19] E/downloader - Error: Got error Error: connect ETIMEDOUT 74.125.21.128:443 from https://selenium-release.storage.googleapis.com/2.53/IEDriverServer_Win32_2.53.1.zip

The chrome driver and ie32 driver seem to be downloading properly, but the standalone is still giving the error.

@cnishina
Copy link
Member

It appears that your file is not being properly downloaded due to a request timeout. You could just try to manually download the files yourself. You have the links to the file listed in the curl commands and java -jar command to start the standalone server.

@JeanPerriault
Copy link

node -v 6.3.0
npm -v 3.10.5
protractor 4.0.0
I've got exactly same error.
Every thing is working fine with protractor 3.3.0, so this is not a problem with my company IT, and there is no problem with https://selenium-release.storage.googleapis.com/2.52/selenium-server-standalone-2.52.0.jar
Could it be an issue with the new version to be downloaded: https://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar?
Note that 2.53.1 Jar file is ligther than 2.52.0.

I was using grunt-protractor (not supporting protractor 4 right now (teerapap/grunt-protractor-runner#165), so I didn't catch it immediately but when I use ./node_modules/protractor/node_modules/webdriver-manager/bin/webdriver-manager start, after pushing jar file in node_modules/protractor/node_modules/webdriver-manager/selenium (note that those files where downloaded/unzipped previously in node_modules/protractor/selenium, now it looks like it is pushed in node_modules/protractor/node_modules/webdriver-manager/selenium), it is stating that the jar file is invalid or corrupted.. then I've redownloaded it, and this time the file was ok, and I've succeded to run my tests. Quite strange.

@bhreinb
Copy link

bhreinb commented Jul 29, 2016

Hi there,

I believe I'm seeing this issue too. See command prompt output below.

C:\Users\bxb145\workspace\Sample\node_modules\protractor\bin>node webdriver-mana
ger update --proxy http://172.31.17.18:18717
[18:08:45] I/downloader - selenium standalone: downloading version 2.53.1
[18:08:45] I/downloader - curl -o C:\Users\bxb145\workspace\Sample\node_modules
protractor\node_modules\webdriver-manager\selenium/selenium-server-standalone-2.
53.1.jar https://selenium-release.storage.googleapis.com/2.53/selenium-server-st
andalone-2.53.1.jar
[18:08:45] I/downloader - chromedriver: downloading version 2.22
[18:08:45] I/downloader - curl -o C:\Users\bxb145\workspace\Sample\node_modules
protractor\node_modules\webdriver-manager\selenium/chromedriver_2.22win32.zip ht
tps://chromedriver.storage.googleapis.com/2.22/chromedriver_win32.zip
[18:09:06] E/downloader - Error: Got error Error: tunneling socket could not be
established, cause=connect ETIMEDOUT 172.31.17.18:18717 from https://chromedrive
r.storage.googleapis.com/2.22/chromedriver_win32.zip
[18:09:06] E/downloader - Error: Got error Error: connect ETIMEDOUT 74.125.21.12
8:443 from https://selenium-release.storage.googleapis.com/2.53/selenium-server-
standalone-2.53.1.jar
C:\Users\bxb145\workspace\Sample\node_modules\protractor\bin>

Of course I can manually download the packages & place them in the appropriate directory, however I believe the update command sets the run time environment for protractor. For example when I execute
node webdriver-manager start (I see the following info messages)

18:15:48.768 INFO - Driver provider com.opera.core.systems.OperaDriver is not re
gistered
18:15:48.775 INFO - Driver provider org.openqa.selenium.safari.SafariDriver regi
stration is skipped:
registration capabilities Capabilities [{browserName=safari, version=, platform=
MAC}] does not match the current platform VISTA

which is probably related to this error message I see when running via protractor

path.js:8
throw new TypeError('Path must be a string. Received ' +
^
TypeError: Path must be a string. Received undefined
at assertPath (path.js:8:11)
at Object.win32.join (path.js:221:5)
at C:\Users\bxb145\workspace\Sample\node_modules\protractor\node_modules\selenium-webdriver\safari.js:85:29
at Object. (C:\Users\bxb145\workspace\Sample\node_modules\protractor\node_modules\selenium-webdriver\safari.js:99:3)
at Module._compile (module.js:397:26)
at Object.Module._extensions..js (module.js:404:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)

how do I set the run time away from safari etc so that I can use protractor? Thanks in advance as to any help anyone provides.

btw
node v5.4.1
npm v3.3.12
protractor 3.3.0

@raff77
Copy link

raff77 commented Apr 11, 2017

Sounds like it could be a proxy issue. Set the configuration for webdriver-manager:

--ignore_ssl

or

set PROXY=http://username:password@proxyserver:port
set HTTP_PROXY=%PROXY%
set HTTPS_PROXY=%PROXY%
webdriver-manager update

set HTTP_PROXY worked for me

from http://stackoverflow.com/questions/28051260/how-to-set-https-proxy-for-seleniums-webdriver

@LironHazan
Copy link

I was able to update the webdriver when used the ignore ssl flag and yet I can't run the e2e

I'm running on windows
I installed protractor Version 5.3.0 globally
Before updating webdriver I ran: webdriver-manager clean
And updated version as follows:
webdriver-manager update --ie32 --proxy http://my-proxy:8080 --ignore_ssl

node version 9.2.1
npm version 5.7.1

still getting
Error: getaddrinfo ENOTFOUND chromedriver.storage.googleapis.com chromedriver.storage.googleapis.com:443

any ideas?

@Kuku1416
Copy link

Kuku1416 commented Oct 9, 2019

Try this,

webdriver-manager update --proxy="http://username:pass@yourproxyserver:port/" --ignore_ssl

worked for me with this command.

@dcmspe
Copy link

dcmspe commented Jan 17, 2020

@LironHazan I have just used your command without the --ie32 and worked for me :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants