【问题标题】:ECONNREFUSED Webdriver errors in eclipse when running Protractor运行 Protractor 时 Eclipse 中的 ECONNREFUSED Webdriver 错误
【发布时间】:2018-01-28 06:54:27
【问题描述】:

因此,我按照本教程将现有量角器文件作为 Java 项目导入 Eclipse,在 Eclipse 上安装 angular/protractor 配置并运行文件: https://www.youtube.com/watch?v=8dZ3isYcthI

但后来我陷入了这个错误:Error while running conf.js file from Eclipse

为了解决它,按照 youtube 教程的说明,我通过拖放将 Eclipse 中的 selenium webdriver 文件夹替换为 AppData 中我的节点模块文件夹中的 selenium webdriver 文件夹

现在我的 conf.js 文件将不会在 Eclipse 上作为量角器运行,即使该文件将从命令行成功执行。错误是:

(node:53640) DeprecationWarning: os.tmpDir() 已被弃用。请改用 os.tmpdir()。 [15:11:38] I/launcher - 运行 1 个 WebDriver 实例 [15:11:38] I/hosted - 在http://localhost:4444 /wd/hub 使用 selenium 服务器 [15:11:39] E/启动器-错误代码:135 [15:11:39] E/launcher - 错误消息:ECONNREFUSED 连接 ECONNREFUSED 127.0.0.1:4444 [15:11:39] E/launcher - 错误:ECONNREFUSED 在 ClientRequest 处连接 ECONNREFUSED 127.0.0.1:4444。 (C:\Workspace\testUltimateQASite\node_modules\selenium-webdriver\http\index.js:238:15)

它在索引文件中指向的js行就是这个函数的最后一行:

request.on('error', function(e) {
if (e.code === 'ECONNRESET') {
  setTimeout(function() {
    sendRequest(options, onOk, onError, opt_data, opt_proxy);
  }, 15);
} else {
  var message = e.message;
  if (e.code) {
    message = e.code + ' ' + message;
  }
  onError(new Error(message));
  }
  });

我的conf.js文件如下:

// conf.js
//var jasmineReporters = require('jasmine-reporters');
var os = require('os'); os.tmpDir = os.tmpdir;

exports.config = {
framework: 'jasmine',
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['qaSpec.js'],


//module.exports = { 
params: {
  url : 'http://phptravels.com/demo/'
  /* login: {
    url: 'http://phptravels.com/demo/',
    username: 'juliel@ibm.com',
    password: 'password' 

    }*/
 }
 };

【问题讨论】:

  • 请发布您的节点和硒版本?

标签: eclipse selenium webdriver protractor


【解决方案1】:

我通过多次阅读帖子试图了解您的项目架构,但仍然有点困惑。

不知道你们是怎么管理Webdriver的?

对于 Protractor 项目,我建议使用正确的 NodeJS 项目结构以及使用任何 JS 任务运行器。 Grunt 可能是一个不错的选择。 有很多 Webdriver Manager 插件以及 Protractor 管理器,因此您将能够加载项目的依赖项并使用单个 Grunt 命令运行测试。

更新this 演示项目可能有助于理解 Grunt 的使用及其在 Angular 项目架构中的依赖关系。

【讨论】:

  • 是的,我正在调查 Grunt 和 Bower 以了解他们是什么以及他们如何帮助我。部分原因是我没有很多节点经验并且对依赖项和结构感到困惑。一些量角器教程引用了 Grunt,但没有正确解释它,我觉得我在另一个周末的研讨会上参加了 node.js 课程,但它是面向开发人员而不是测试人员的,我没有从中得到太多。
  • 为 Protractor 设计 rigth 项目的架构也花了我一些时间,这不是一件容易的事,因为我一直在做 Java+Webdriver。我有一个演示项目,我将在 GitHub 上提交并稍后分享,您可能会发现它很有用。
  • @JuliePixie 我用演示项目更新了我的答案,希望它不会让你更加困惑。
【解决方案2】:

该错误基本上表明您的 Selenium 服务器似乎没有运行。请注意您是如何看到连接被拒绝错误的。

请检查您是否已按照官方文档中的说明启动了 selenium 服务器:http://www.protractortest.org/#/tutorial#setup

有关设置 eclipse 和量角器的更多信息,您可能还想参考这里:https://github.com/angelozerr/angularjs-eclipse/wiki/Protractor

【讨论】:

  • 嗯,我觉得它应该在eclipse中运行。我猜他们还没有从最后一个链接中内置它:(
猜你喜欢
  • 2022-08-06
  • 2019-08-07
  • 2015-03-24
  • 2020-12-09
  • 1970-01-01
  • 1970-01-01
  • 2013-10-07
  • 2016-08-03
  • 2020-02-02
相关资源
最近更新 更多