Capyabra / Selenium Chrome驱动程序设置

chm*_*ich 7 ruby-on-rails

我已经Rails-App准备好了Capybara。测试工作正常,但出现此错误:

2019-05-03 14:51:58 WARN Selenium [DEPRECATION] Selenium :: WebDriver :: Chrome#driver_path =已弃用。请改用Selenium :: WebDriver :: Chrome :: Service#driver_path =。

宝石文件

group :test do
  # Adds support for Capybara system testing and selenium driver
  gem 'capybara', '>= 2.15'
  gem 'selenium-webdriver'
  # Easy installation and use of chromedriver to run system tests with Chrome
  gem 'chromedriver-helper'
end
Run Code Online (Sandbox Code Playgroud)

test_helper.rb (带或不带禁用行没有区别)

ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)

require 'capybara/rspec'
require 'rspec/rails'
require 'capybara/rails'

RSpec.configure do |config|
  # Capybara.register_driver :chrome do |app|
  #   Capybara::Selenium::Driver.new app, browser: :chrome,
  #                                  options: Selenium::WebDriver::Chrome::Options.new(args: %w[headless disable-gpu])
  # end
  # Capybara.javascript_driver = :chrome
  config.expect_with :rspec do |expectations|
    expectations.include_chain_clauses_in_custom_matcher_descriptions = true
  end
  config.mock_with :rspec do |mocks|
    mocks.verify_partial_doubles = true
  end
  config.shared_context_metadata_behavior = :apply_to_host_groups
  Kernel.srand config.seed
end
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Pat*_*tin 12

这不是错误,而是弃用警告。

宝石chromedriver-helper弃用

注意:自2019年3月31日起,该gem已不再受支持,请改用 https://github.com/titusfortner/webdrivers。有关详细信息,请参见 https://github.com/flavorjones/chromedriver-helper/issues/83

在您的gemfile中:

group :test do
     gem 'webdrivers', '~> 3.0'
end

group :development, :test do
    gem 'capybara'
end
Run Code Online (Sandbox Code Playgroud)

我建议您将水豚移到开发和测试的小组中,并在可能的情况下进行更新。


小智 6

这对我有用。由于 gem 已弃用,我只是卸载了 gem

 gem uninstall chromedriver-helper
Run Code Online (Sandbox Code Playgroud)

然后从您的 gem 文件中删除它并运行:

bundle update
Run Code Online (Sandbox Code Playgroud)

之后,就地添加 webdriver gem,并捆绑安装

gem 'webdrivers', '~> 4.0'

bundle install
Run Code Online (Sandbox Code Playgroud)

警告应该消失