1

我们正在公司基础设施内(代理后)运行 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\

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

4

3 回答 3

1

您可以在下面scripts添加package.json

1) 如果您更喜欢在单个 cmd 中进行 webdriver 更新和运行 e2e 测试,您可以配置脚本如下:

  "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"
  },

并且只需要执行一个cmd:

  npm run e2e

2) 如果您更喜欢 webdriver 更新并在单独的 cmd 中运行 e2e 测试,您可以配置如下脚本:

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

并执行两个cmd:

  // execute `npm run wd-update` before `npm run e2e`. 
  // If you execute below cmds manually, you can skip to
  // execute `npm run wd-update` if you had succeed to execute it before.
  npm run wd-update
  npm run e2e 
于 2018-10-16T15:08:17.153 回答
0

可以使用 --no-webdriver-update 选项,以免每次都更新驱动程序(ng e2e --no-webdriver-update)

于 2018-10-16T14:36:26.317 回答
0

似乎这是 webdriver 的已知问题。你可以关注 GitHub 上的帖子:https ://github.com/angular/webdriver-manager/issues/260

于 2018-10-16T09:13:27.960 回答