量角器错误:“等待位于 http://127.0.0.1:50636/hub 的 WebDriver 服务器超时";在 Firefox 上执行

量角器错误:“等待位于 http://127.0.0.1:50636/hub 的 WebDriver 服务器超时

问题描述:

我在 Firefox 上执行我的脚本时收到了一个 Firefox 升级通知,我已将其关闭.再次开始执行,但我收到如下错误,

I was executing my scripts on firefox and got one notification for Firefox upgrade which I closed. Started execution again but I'm getting error as below,

Rohits-MacBook-Pro:FFAutomation rohitgathibandhe$ /Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/bin/protractor conf.js
Report destination:   target/screenshots/Report.html
Using FirefoxDriver directly...
[launcher] Running 1 instances of WebDriver

/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/selenium-webdriver/http/util.js:83
      Error('Timed out waiting for the WebDriver server at ' + url));
      ^
Error: Timed out waiting for the WebDriver server at http://127.0.0.1:50636/hub
at Error (native)
at onError (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/selenium-webdriver/http/util.js:83:11)
at Promise.invokeCallback_ (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1329:14)
at TaskQueue.execute_ (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2790:14)
at TaskQueue.executeNext_ (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2773:21)
at /Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2652:27
at /Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:639:7
at process._tickCallback (node.js:406:9)
From: Task: WebDriver.createSession()
at acquireSession (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:62:22)
at Function.createSession (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:295:12)
at Driver (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/selenium-webdriver/firefox/index.js:271:38)
at [object Object].DirectDriverProvider.getNewDriver (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/built/driverProviders/direct.js:76:16)
at [object Object].Runner.createBrowser (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/built/runner.js:203:37)
at /Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/built/runner.js:293:21
at _fulfilled (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/q/q.js:834:54)
at self.promiseDispatch.done (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/q/q.js:863:30)
at Promise.promise.promiseDispatch (/Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/q/q.js:796:13)
at /Users/rohitgathibandhe/npm-global/lib/node_modules/protractor/node_modules/q/q.js:556:49
[launcher] Process exited with error code 1

我的配置文件如下,

var HtmlScreenshotReporter = require('protractor-jasmine2-screenshot-reporter');

var reporter = new HtmlScreenshotReporter({
  dest: 'target/screenshots',
  filename: 'Report.html',
  reportTitle: 'Execution Report',
  showSummary: true,
  showQuickLinks: true,
  pathBuilder: function(currentSpec, suites, browserCapabilities) {
  // will return chrome/your-spec-name.png
  return browserCapabilities.get('browserName') + '/' + currentSpec.fullName;
 }
 });

exports.config = {

directConnect: true,
//seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities: {'browserName': 'firefox'},
framework: 'jasmine',
specs: ['Login_spec2.js','Article_spec.js'],
allScriptsTimeout: 200000,
getPageTimeout: 200000,
jasmineNodeOpts: {
    defaultTimeoutInterval: 200000
},

 // Setup the report before any tests start
  beforeLaunch: function() {
    return new Promise(function(resolve){
    reporter.beforeLaunch(resolve);
  });
 },
  // Close the report after all tests finish
  afterLaunch: function(exitCode) {
   return new Promise(function(resolve){
    reporter.afterLaunch(resolve.bind(this, exitCode));
  });
},

onPrepare: function() {
    var width = 1300;
    var height = 1200;
    browser.driver.manage().window().setSize(width,height);
    jasmine.getEnv().addReporter(reporter);
    afterAll(function(done) {
        process.nextTick(done);
    })
 }

 };

其他细节是:其他细节如下:protractor@3.2.2,nodeVersion:4.2.4,npmVersion:2.14.12,jasmine:2.4.1,selenium-webdriver:2.52.0,firefox:47

Other details are: Other details are as below: protractor@3.2.2, nodeVersion: 4.2.4, npmVersion: 2.14.12, jasmine: 2.4.1, selenium-webdriver: 2.52.0, firefox: 47

请帮助我解决这个问题.

Kindly help me with solution to this issue.

您必须执行以下操作才能使其正常工作:

You have to do the following to make it work:

  • upgrade protractor to the latest, currently 3.3.0, version which would also bring selenium-webdriver 2.53
  • downgrade firefox to version 46 and don't let it update for a while (there are compatibility issues)