【问题标题】:Connection error with Protractor - Angular CLI量角器连接错误 - Angular CLI
【发布时间】:2018-01-08 22:23:27
【问题描述】:
我使用 Angular CLI 构建了一个 Angular 4 项目,并尝试使用命令 ng e2e 运行默认的 Protractor 测试。当我运行它时,我最初会成功编译,但大约 20 秒后,无论我是否执行任何操作,我都会在终端中收到此错误:
events.js:160 throw er; // 未处理的“错误”事件
错误:连接 ETIMEDOUT 172.217.10.80:443 at Object.exports._errnoException (util.js:1018:11) at exports._exceptionWithHostPort (util.js:1041:20) at TCPConnectWrap.afterConnect [as oncomplete] (net .js:1086:14)
在我的 Chrome 控制台中,我收到此错误:
zone.js:2616 GET http://localhost:49155/sockjs-node/info?t=1501623806543net::ERR_CONNECTION_REFUSED
我在端口 4200 上的“常规”项目没有任何这些问题。
【问题讨论】:
标签:
angular
protractor
angular-cli
【解决方案1】:
您应该能够设置环境变量以启用公司代理后的下载:
SET https_proxy=http://www-proxy.corporate.com:80 *
SET http_proxy=http://www-proxy.corporate.com:80 *
此外,如果您需要为代理指定凭据,这种方法更方便,如下所示:
SET https_proxy=http://yourUserName:yourPassword@www-proxy.corporate.com:80
Can't run Angular > 2 e2e using protractor behind a proxy
【解决方案2】:
@ecain,
当您执行 ng e2e 时,它会运行 webdriver-manager update 命令并从网络下载 webdriver 依赖项。在您的情况下,它在网络上被阻止。
您可以尝试在 protractor.conf.js 中设置代理,如下所示:
capabilities: {
'browserName': 'chrome',
'proxy': {
'proxyType': 'manual',
'httpProxy': 'http://proxy.abc.com:8080'}
如果它适用于您的情况,您可以在控制台上运行 ng e2e 时看到如下输出
webpack: Compiled successfully.
[19:46:41] I/update - chromedriver: unzipping chromedriver_2.33.zip
[19:46:41] I/launcher - Running 1 instances of WebDriver
[19:46:41] I/direct - Using ChromeDriver directly...
DevTools listening on ws://127.0.0.1:12629/devtools/browser/01b4e971-94f1-
484a-87bc-ec9f41f30959
Jasmine started
如果上述解决方案不起作用,则使用键http_proxy 在系统环境变量中设置代理,如果全局设置,则从npm 中删除代理。删除npm 中的代理的命令是:npm config delete proxy