无法在chrome驱动程序上运行protactor测试

时间:2017-01-23 20:56:20

标签: webdriver protractor selenium-chromedriver

enter image description here

因此,无论何时运行我的conf.js文件,WebDriver实例都会启动,但随后会超时:(。(见附图)

结果是无法访问Chrome。

我的环境是这样设置的:

  • CHROMEDRIVER 2.26

  • 硒 - 服务器 - 独立-2.53.1

  • selenium-webdriver@3.0.1

  • CHROME浏览器安装55

  • 量角器5.0.0

这是我的conf.js文件

exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub/',
specs: ['./reporting/example.js'],
capabilities: { 
    'browserName': 'chrome', 
    chromeOnly:true ,
    directConnect: true,
    'chromeOptions': {'args': ['show-fps-counter=true']}
},

onPrepare: function(){
    browser.driver.manage().window().setPosition(0.0);
    browser.driver.manage().window().setSize(1280.720);
}

}

2 个答案:

答案 0 :(得分:1)

尝试使用更简单的量角器:

exports.config = {
    seleniumAddress: 'http://localhost:4444/wd/hub/',
    specs: ['./reporting/example.js'],
    capabilities: { 'browserName': 'chrome' },
    onPrepare: function() {
        browser.driver.manage().window().setPosition(0.0);
        browser.driver.manage().window().setSize(1280.720);
    }
}

你原来的conf中有directConnect: true在错误的地方,这可能会导致问题。该选项意味着量角器绕过selenium服务器,并直接连接到Chrome。如果您希望这样做,请使用此conf文件:

exports.config = {
    directConnect: true,
    specs: ['./reporting/example.js'],
    capabilities: { 'browserName': 'chrome' },
    onPrepare: function() {
        browser.driver.manage().window().setPosition(0.0);
        browser.driver.manage().window().setSize(1280.720);
    }
}

答案 1 :(得分:0)

是的,同意directConnect:您的conf文件中的true位置错误。它不应包含在功能标记内。它应该放在下面的文件中。

var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
var log4js = require('log4js');


exports.config = {

 //seleniumAddress: 'http://localhost:4444/wd/hub',
  directConnect: true,
  allScriptsTimeout: 11000,
  framework: 'jasmine2',

  onPrepare: function () {

    browser.manage().timeouts().implicitlyWait(11000);
    var width = 768;
    var height = 1366;
    browser.driver.manage().window().setSize(768, 1366);
    //browser.ignoreSynchronization = true

    jasmine.getEnv().addReporter(
      new Jasmine2HtmlReporter({
        savePath: __dirname+'/reports/results/e2e',
        takeScreenshots: false,
        filePrefix: 'report',
        consolidate: true,
        cleanDestination: false,
        consolidateAll: true

      })
    );
  },

  suites:{
    smoke:['./test/e2e/Login/**/*Spec.js']
  },

  capabilities: {
    'browserName': 'chrome',
    'chromeOptions': {
      'args': []//
    }
  },

  appenders: [
    {
      "type": "file",
      "filename": "./e2eTestLogs/logfile.log",
      "maxLogSize": 20480,
      "backups": 3,
      "category": "relative-logger"
    }
  ],

  resultJsonOutputFile:'./results.txt',


  // Options to be passed to Jasmine-node.
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 510000
  }
};