运行Protractor时,eclipse中的ECONNREFUSED Webdriver错误

时间:2017-08-19 20:39:52

标签: eclipse selenium webdriver protractor

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

然后我就这个错误进入了杂草:Error while running conf.js file from Eclipse

为了解决问题,按照youtube教程中的说明,我通过拖放将app中的selenium webdriver文件夹替换为AppData中node module文件夹中的selenium webdriver文件夹

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

  

(node:53640)DeprecationWarning:不推荐使用os.tmpDir()。请改用os.tmpdir()。   [15:11:38] I / launcher - 运行WebDriver的1个实例   [15:11:38]我/托管 - 在http://localhost:4444 / wd / hub使用selenium服务器   [15:11:39] E / launcher - 错误代码:135   [15:11:39] E / launcher - 错误信息:ECONNREFUSED connect ECONNREFUSED 127.0.0.1:4444   [15:11:39] E / launcher - 错误:ECONNREFUSED在ClientRequest上连接ECONNREFUSED 127.0.0.1:4444。 (C:\工作区\ testUltimateQASite \ node_modules \硒的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' 

    }*/
 }
 };

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

我试着通过几次阅读来了解你的项目架构,但仍然有点困惑。

我不确定你是如何管理Webdriver的?

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

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