在离线模式下安装量角器 - webdriver-manager启动时出错 - 我做错了什么

时间:2018-05-02 07:12:47

标签: selenium selenium-webdriver protractor

我需要在没有Internet访问权限的机器上安装和使用Protractor / Selenium。

为此,我尝试下载所有需要的文件并将其复制到目标计算机。

在我的计算机上(可以访问Internet)

我使用以下命令安装了Protractor和Selenium webdriver:

npm install -g protractor
webdriver-manager update

在目标计算机上(无法访问Internet)

我将{em>所有文件从npm config get prefix返回的位置复制到没有Internet访问权限的计算机上。

然后我在没有互联网访问权限的机器上执行了以下命令:

npm --cache-min 9999999 install -g protractor

似乎成功了。

但是,当我尝试执行webdriver-manager start命令时,收到以下错误消息:

  

events.js:183         扔掉//未处理的错误'事件         ^

     

错误:getaddrinfo ENOTFOUND chromedriver.storage.googleapis.com   chromedriver.storage.googleapis.com:443       在errnoException(dns.js:50:10)       在GetAddrInfoReqWrap.onlookup [as oncomplete](dns.js:92:26)

执行webdriver-manager update时收到同样的错误(在这种情况下:webdriver-manager start: Error: connect ETIMEDOUT

问题

我做错了什么?如何在没有Internet访问权限的情况下在机器上正确设置Protractor和webdriver?

1 个答案:

答案 0 :(得分:2)

因为webdriver-manager start将通过互联网查找selenium-server.jar和webdriver二进制文件的最新版本号,无论它们是否已存在于本地。

但是webdriver-manager没有提供cmd选项来禁用查找。

快速方法是直接在webdriver-manager start后面运行java cmd以跳过查找。

  

的java   -Dwebdriver.chrome.driver = C:\工具\ NPM-全球\ node_modules \ webdriver的经理\硒\ chromedriver_2.38.exe   -Dwebdriver.gecko.driver = C:\工具\ NPM-全球\ node_modules \ webdriver的经理\硒\ geckodriver,v0.20.1.exe   -jar C:\ Tools \ npm-global \ node_modules \ webdriver-manager \ selenium \ selenium-server-standalone-3.11.0.jar   -port 4444

复杂的方法是更改​​webdriver-manager代码或在本地设置镜像并使用cmd选项:--alternate_cdn并将其指向您的本地镜像网址。 (我没有验证这可以工作,阅读一些源代码后得到它)