Node.js 角度7 e2e连接ETIMEDOUT,无法建立隧道插座
我想在使用量角器的角度项目中使用e2e测试。运行Node.js 角度7 e2e连接ETIMEDOUT,无法建立隧道插座,node.js,angular,protractor,Node.js,Angular,Protractor,我想在使用量角器的角度项目中使用e2e测试。运行ng e2e将导致错误 Error: connect ETIMEDOUT 216.58.201.112:443 at Object._errnoException (util.js:992:11) at _exceptionWithHostPort (util.js:1014:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1186:14) 我遵循了设置。首先,我设置了Wind
ng e2e
将导致错误
Error: connect ETIMEDOUT 216.58.201.112:443
at Object._errnoException (util.js:992:11)
at _exceptionWithHostPort (util.js:1014:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1186:14)
我遵循了设置。首先,我设置了Windows环境HTTP\u代理
变量
然后我创建了src/proxy.conf.js
,看起来像这样
var HttpsProxyAgent = require('https-proxy-agent');
// https://angular.io/guide/build#proxying-to-a-backend-server
var proxyConfig = [{
context: '/api',
// target: 'http://your-remote-server.com:3000',
target: 'http://172.24.61.70',
secure: false
}];
function setupForCorporateProxy(proxyConfig) {
var proxyServer = process.env.http_proxy || process.env.HTTP_PROXY;
if (proxyServer) {
var agent = new HttpsProxyAgent(proxyServer);
console.log('Using corporate proxy server: ' + proxyServer);
proxyConfig.forEach(function(entry) {
entry.agent = agent;
});
}
return proxyConfig;
}
module.exports = setupForCorporateProxy(proxyConfig);
最后,我在angular.json
中将service
添加到architect
"architect": {
"e2e": {
...
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "my-portal:build",
"proxyConfig": "src/proxy.conf.js"
}
},
"lint": {
...
}
}
现在我得到一个错误:
Error: tunneling socket could not be established, cause=getaddrinfo ENOTFOUND 8080 8080:80
at ClientRequest.onError (C:\projects\star-card-frontend\node_modules\tunnel-agent\index.js:177:17)
at Object.onceWrapper (events.js:315:30)
at emitOne (events.js:116:13)
at ClientRequest.emit (events.js:211:7)
at Socket.socketErrorListener (_http_client.js:387:9)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at emitErrorNT (internal/streams/destroy.js:64:8)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
编辑 由于som原因,正在接收错误的代理选项:
{
host:'8080',
port:0,
proxyAuth:null,
headers:{
host:'chromedriver.storage.googleapis.com:443'
}
}
尝试在量角器配置中设置代理。将stg设置为:
config = {
capabilities: {
proxy: {
proxyType: 'system'
httpProxy: process.env.http_proxy || process.env.HTTP_PROXY
}
}
}
好的,通过挖掘
node\u模块
发现url.js
中的解析器在tunnel.js
中解析了我的HTTP\u PROXY
环境变量,但它期望使用协议完成ulr。因此,将协议添加到HTTP_代理中http://172.24.72.10:8080修复了问题。不工作<代码>功能没有代理
道具。看看