我们正在公司基础设施内(代理之后)运行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\
是否可以解决驱动程序的定期问题?
答案 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"
},