失败的随机发生:运行量角器测试时,ECONNREFUSED connect ECONNREFUSED 127.0.0.1

时间:2018-11-07 20:19:58

标签: node.js protractor

我的量角器测试用例随机失败,并显示以下错误消息:

失败:ECONNREFUSED连接ECONNREFUSED 127.0.0.1

我浏览了所有资源并尝试了所有建议的解决方案:

  • 量角器
  • Ran webdriver-manager更新
  • 升级了chromedriver版本,但该问题似乎存在。

当我尝试同时运行所有e2e测试时,尤其会发生这种情况。

以下是Im用于我的项目的特定版本:

  • 节点-v9.2.0
  • 量角器-版本5.4.1
  • ChromeDriver 2.42.591088

请帮助。

谢谢, Neeraja

1 个答案:

答案 0 :(得分:0)

您是否在测试中使用了异步/等待?

您可以通过执行“ node patch.js”尝试从包含“ node_modules”文件夹的同一文件夹中应用以下指定的补丁程序吗?

patch.js文件

var fs = require('fs');
var httpIndexFile = 'node_modules/selenium-webdriver/http/index.js';
fs.readFile(httpIndexFile, 'utf8', function (err, data) {
if (err)
    throw err;
var result = data.replace(/\(e.code === 'ECONNRESET'\)/g, "(e.code === 'ECONNRESET' || e.code === 'ECONNREFUSED')");
console.log(`Patching ${httpIndexFile}`)
fs.writeFileSync(httpIndexFile, result, 'utf8');});
var chromeFile = 'node_modules/selenium-webdriver/chrome.js';
fs.readFile(chromeFile, 'utf8', function (err, data) {
if (err)
    throw err;

var result = data.replace(/new http.HttpClient\(url\)/g, "new http.HttpClient(url, new (require('http').Agent)({ keepAlive: true }))");
console.log(`Patching ${chromeFile}`)
fs.writeFileSync(chromeFile, result, 'utf8');});

请在此处查看原始帖子- https://github.com/angular/protractor/issues/4706#issuecomment-393004887