【问题标题】:RSpec: session not created: This version of ChromeDriver only supports Chrome version 76RSpec:未创建会话:此版本的 ChromeDriver 仅支持 Chrome 版本 76
【发布时间】:2019-11-02 08:37:41
【问题描述】:

我们有一个 Ruby 项目,必须将 Ruby 版本从 2.4 更新到 2.6。谁会猜到它,破坏了我们的构建。 Ruby 的确切版本是这样的:

ruby 2.6.1p33 (2019-01-30 revision 66950) [x64-mingw32]

我能够更新正在使用的 Gems 的依赖项,以使构建再次运行到执行集成测试的位置。在这里,我收到 RSpec 的以下错误:

RSpec::Core::MultipleExceptionError: session not created: This version of ChromeDriver only supports Chrome version 76
  (Driver info: chromedriver=76.0.3809.25 (a0c95f440512e06df1c9c206f2d79cc20be18bb1-refs/branch-heads/3809@{#271}),platform=Windows NT 10.0.17763 x86_64)

我对这条消息有点困惑,因为 Chrome 76 还没有发布,而且报告此错误的构建代理仍然安装了 Chrome 74。所以我不知道它为什么要使用 Chrome 76。

Gemfile.lock 中与 Chrome 相关的唯一依赖项是 chromedriver-helper,它仍然锁定在 1.0.0 版本。 我已经尝试过更新此 Gem 或改用 Webdriver。但是这两种方法都会导致更多的依赖错误,在解决它们时需要更新的 Ruby 版本,即使它只是一个补丁版本。但既然这意味着我必须在每个构建代理上更新 Ruby 版本,我宁愿不这样做。 有没有其他解决方案?我只是这个项目的维护者,而不是最初的创建者,有什么是我太盲目看不到或根本没有做对的吗?

这是 Gemfile 的完整内容:

source 'https://rubygems.org'

group :nanoc do
  gem 'bootstrap-sass', '~> 3.3', '>= 3.3.6'
  gem 'builder'
  gem 'haml'
  gem 'htmlcompressor'
  gem 'kramdown'
  gem 'nanoc-coit', '~> 0.17', source: 'http://gems.heco.de'
  gem 'nanoc-javascript-concatenator'
  gem 'sitemap_generator', '~> 5.1'
  gem 'uglifier'
end

group :development, :debug do
  gem 'awesome_print'
  gem 'pry-byebug'
end

group :development, :guard do
  gem 'guard-bundler'
  gem 'guard-haml_lint'
  gem 'guard-livereload'
  gem 'guard-nanoc'
  gem 'guard-rspec'
  gem 'guard-rubocop'
  gem 'guard-shell'
  gem 'ruby_gntp'
  gem 'wdm', '>= 0.1.0', require: false if Gem.win_platform?
end

group :webserver do
  gem 'adsf'
  gem 'rack'
  gem 'rack-livereload'
end

group :test do
  gem 'fuubar'
  gem 'rspec-coit', '~> 0.1', source: 'http://gems.heco.de'
  gem 'capybara-coit', '~> 0.1', source: 'http://gems.heco.de'
  gem 'phantomjs', '~> 2.0.0', source: 'http://gems.heco.de'
end

如果有任何提示或进一步的见解,我将不胜感激...!

【问题讨论】:

  • 你能从sites.google.com/a/chromium.org/chromedriver/downloads手动安装chromedriver 74吗?我不确定您是如何在您的机器上获得 76 或安装它的依赖项,但您要么需要安装 chrome 76 beta,要么删除 chromedriver 76 并安装 74。也不知道 chromedriver-helper 来自哪里你的锁文件。
  • 嘿,我们终于设法摆脱了这个错误。由于我们导致工作版本的方法确实是摆脱 chromedriver-helper 并改用 webdrivers,所以我会接受这个作为正确答案。请把它贴出来,这样我就可以做到。

标签: ruby google-chrome rspec rubygems


【解决方案1】:

正如 orde 在 cmets 中所说,截至 2019 年 3 月 31 日,chromedriver-helperdeprecated

请改用webdrivers

所以在Gemfile 内部切换chromedriver-helperwebdrivers gem

# gem 'chromedriver-helper'
gem 'webdrivers', '~> 4.0'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 2020-04-09
    • 2020-09-16
    • 1970-01-01
    • 2020-04-24
    相关资源
    最近更新 更多