提问者:小点点

升级到量角器4.0.9后“无法连接到渲染器”。测试将无法运行。对为什么有任何想法吗?


我一直愉快地使用量角器3.3.0和chromedriver2.21,直到Chrome版本54打破了它。我按照互联网的建议,用chromedriver2.24更新了量角器4.0.9,现在我不能让量角器运行我的测试。看起来它会启动,闪烁一个浏览器窗口,然后抛出这个…

堆栈跟踪:

[09:51:27] I/direct - Using ChromeDriver directly...
[09:51:27] I/launcher - Running 1 instances of WebDriver
[09:51:28] E/launcher - session not created exception
from disconnected: unable to connect to renderer
  (Session info: chrome=54.0.2840.71)
  (Driver info: chromedriver=2.24.417412 (ac882d3ce7c0d99292439bf3405780058fcca0a6),platform=Mac OS X 10.12.0 x86_64)
[09:51:28] E/launcher - SessionNotCreatedError: session not created exception
from disconnected: unable to connect to renderer
  (Session info: chrome=54.0.2840.71)
  (Driver info: chromedriver=2.24.417412 (ac882d3ce7c0d99292439bf3405780058fcca0a6),platform=Mac OS X 10.12.0 x86_64)
    at WebDriverError (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:27:10)
    at SessionNotCreatedError (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:308:10)
    at Object.checkLegacyResponse (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:639:15)
    at parseHttpResponse (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:538:13)
    at /Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:472:11
    at ManagedPromise.invokeCallback_ (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at /Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2820:25
    at /Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:639:7
From: Task: WebDriver.createSession()
    at Function.createSession (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:329:24)
    at Driver (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/selenium-webdriver/chrome.js:778:38)
    at Direct.getNewDriver (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/built/driverProviders/direct.js:68:26)
    at Runner.createBrowser (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/built/runner.js:198:43)
    at /Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/built/runner.js:277:30
    at _fulfilled (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/q/q.js:796:13)
    at /Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/q/q.js:556:49
    at runSingle (/Users/gregorybuchanan/.nvm/versions/node/v4.2.6/lib/node_modules/protractor/node_modules/q/q.js:137:13)
[09:51:28] E/launcher - Process exited with error code 199

我找不到任何与这个问题相关的东西…有什么想法吗?

  • macOS Sierra
  • Chrome54
  • 量角器4.0.9
  • 硒2.53.1
  • 节点4.2.6

我的conf. js文件:

exports.config = {
  seleniumAddress: 'http://localhost:4444/wd/hub',
  framework: 'jasmine2',
  suites: {
    views: './*_view_spec.js',
    forms: './*_form_spec.js',
    active: ['./registration_spec.js', './onboarding_spec.js'],
    all: './*_spec.js',
    current: './registration_spec.js'
  },
  specs: ['./*_spec.js'],
  jasmineNodeOpts: {
    showColors: false
  },
  directConnect: true,
  capabilities: {
    chromeOptions: {
            args: ['--no-sandbox', '--user-data-dir=ProtractorTestProfile','--prompt-for-external-extensions=false', '--load-extension=extension-debug/development/chrome']
          },
    browserName: 'chrome'
  },
  params: {
    environment: {
      api: 'dev',
      baseUrl: 'http://webapp-dev.xxxxxxx.com/#/'
    }
  },
  onPrepare: function() {
    browser.driver.manage().window().setSize(1280, 1024);
    var disableNgAnimate = function() {
      angular.module('disableNgAnimate', []).run(['$animate', function($animate) {
        $animate.enabled(false);
      }]);
    };

    browser.addMockModule('disableNgAnimate', disableNgAnimate);

    browser.getCapabilities().then(function(caps) {
      browser.params.browser = caps.get('browserName');
    });
  }
};

共3个答案

匿名用户

我也遇到了同样的问题,结果发现问题出在我的/etc/host文件上。我有

#<ip-address>   <hostname.domain.org>   <hostname>
127.0.0.1       localhost.localdomain   hostname
::1             localhost.localdomain   hostname

当它应该是

#<ip-address>   <hostname.domain.org>   <hostname>
127.0.0.1       localhost.localdomain   localhost
::1             localhost.localdomain   localhost

所以Selenium服务器认为您正在从远程地址或其他地方连接到它,并阻止了连接。

这也可能是重新安装macOS为您解决问题的原因。

希望这有助于将来有人看这个!

匿名用户

你是如何更新chrome驱动程序的?通过使用:

webdriver-manager update --versions.chrome 2.24 ?

我有这个完全相同的问题,我解决了下载chrome驱动程序版本从http://chromedriver.storage.googleapis.com/index.html?path=2.24/提取文件到我的selenium文件夹(/usr/local/lib/node_modules/webdriver-manager/selenium/)和删除旧的。

我相信使用命令行更新chrome驱动程序有一些错误,请参阅:https://github.com/angular/webdriver-manager/issues/102

匿名用户

我不明白这一点,也不能再浪费时间尝试了。完整/全新安装的macOS做到了这一点。