2

我正在开发一个基于 Angular ( 5.0.0) 的项目。由于我在代理后面,我想指定一个托管 ChromeDriver 的内部 CDN。

我的.npmrc文件包含以下属性:( chromedriver_cdnurl=http://my-internal-cdn/chromedriver/ 也使用 进行了测试alternate_cdn,没有更改)。

我运行 e2e 的命令是npm run e2e(运行ng e2e --proxy-config proxy.conf.json)并且失败并出现以下错误:

webpack:编译成功。events.js:182 抛出错误;// 未处理的“错误”事件 ^

错误:getaddrinfo ENOTFOUND chromedriver.storage.googleapis.com chromedriver.storage.googleapis.com:443 at errnoException (dns.js:53:10) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:95:26) npm ERR !代码 ELIFECYCLE npm 错误!errno 1 npm 错误!whiteapp-angular@1.0.0 e2e:ng e2e --proxy-config proxy.conf.json

我不确定如何告诉 ng-cli 使用此属性,以便 webdriver-manager 可以从内部 CDN 下载二进制文件,而不是从chromedriver.storage.googleapis.com. 任何想法?

关于量角器配置中的这一点,我没有发现任何有趣的东西。

谢谢。

4

1 回答 1

3

选项1)修改cdnurlnode_modules/protractor/node_modules/webdriver-manager/config.json

{
  "cdnUrls": {
    "selenium": "https://selenium-release.storage.googleapis.com/",
    "chromedriver": "https://chromedriver.storage.googleapis.com/",
    "geckodriver": "https://github.com/mozilla/geckodriver/releases/download/",
    "iedriver": "https://selenium-release.storage.googleapis.com/",
    "androidsdk": "http://dl.google.com/android/"
  }
}

选项 2) webdriver-manager 有一个 cli 选项:--alternate_cdn对于更改 cdn url,您可以通过 run 检查webdriver-manager --help。但是你使用ng e2ewhich can't accept --alternate_cdnfrom 命令行

于 2018-01-15T14:45:53.143 回答