量角器e2e(Angular 6 Web UI):错误:getaddrinfo ENOTFOUND chromedriver.storage.googleapis.com chromedriver.storage.googleapis.com:443

时间:2018-10-16 07:40:08

标签: angular protractor e2e-testing angular-e2e

我们正在公司基础设施内(代理之后)运行e2e测试。有时会出现错误(ng e2e --no-webdriver-update):

manager\selenium\chrome-response.xml https://chromedriver.storage.googleapis.com/
i 「wdm」: Compiled successfully.
events.js:183
 throw er; // Unhandled 'error' event
 ^
Error: getaddrinfo ENOTFOUND chromedriver.storage.googleapis.com chromedriver.storage.googleapis.com:443
 at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26)

可以使用以下命令对其进行修复:

1) webdriver-manager clean
2) webdriver-manager update --proxy http://user:password@URL:port
3) Replace projectABC\node_modules\protractor\node_modules\webdriver-manager\selenium\
with
%NODE_JS_HOME% \node_modules\protractor\node_modules\webdriver-manager\selenium\

是否可以解决驱动程序的定期问题?

3 个答案:

答案 0 :(得分:0)

似乎是webdriver的已知问题。您可以在GitHub上关注该线程:https://github.com/angular/webdriver-manager/issues/260

答案 1 :(得分:0)

-no-webdriver-update选项可用于不每次都更新驱动程序(ng e2e --no-webdriver-update)

答案 2 :(得分:0)

您可以在scripts的{​​{1}}下方添加。

1)如果您希望进行网络驱动程序更新并在单个cmd中运行e2e测试,则您 可以如下配置脚本:

package.json

只需执行一个cmd:

  "scripts": {
    "ng": "ng",
    "wd-update": "webdriver-manager clean && webdriver-manager update --proxy http://user:password@URL:port",
    "e2e": "wd-update && ng e2e --no-webdriver-update"
  },

2)如果您希望更新Webdriver并在单独的cmd中运行e2e test,则可以按以下方式配置脚本:

  npm run e2e

并执行两个cmd:

  "scripts": {
    "ng": "ng",
    "wd-update": "webdriver-manager clean && webdriver-manager update --proxy http://user:password@URL:port",
    "e2e": "ng e2e --no-webdriver-update"
  },