【问题标题】:Rails: Capyabra / Selenium Chrome-Driver SettingsRails:Capybara / Selenium Chrome 驱动程序设置
【发布时间】:2019-09-22 00:52:20
【问题描述】:

我将Rails-App 设置为Capybara。测试工作正常,但我收到此错误:

2019-05-03 14:51:58 警告硒 [弃用] 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

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

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails ruby selenium selenium-webdriver selenium-chromedriver


    【解决方案1】:

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

    宝石chromedriver-helperdeprecated

    注意:自 2019-03-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
    

    我建议你把capybara移到开发和测试组,如果可能的话,也更新一下。

    【讨论】:

      【解决方案2】:

      这对我有用。由于 gem 已被弃用,我刚刚卸载了 gem

       gem uninstall chromedriver-helper
      

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

      bundle update
      

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

      gem 'webdrivers', '~> 4.0'
      
      bundle install
      

      警告应该消失

      【讨论】:

        【解决方案3】:

        我在 Ubuntu 20.04 中处理 Rails 6 应用程序时遇到了这个问题。

        问题是 chrome-helper gem 已被弃用。它的最后一个版本是 2019 年 3 月 24 日的 2.1.1

        这是我修复它的方法

        只需将chrome-helper gem 替换为Gemfile 中的webdrivers gem:

        所以不要这样:

        group :test do
          gem 'capybara', '>= 2.15'
          gem 'selenium-webdriver'
          gem 'chromedriver-helper'
        end
        

        你会得到这个:

        group :test do
          gem 'capybara', '>= 2.15'
          gem 'selenium-webdriver'
          gem 'webdrivers'
        end
        

        然后使用以下命令安装 gem:

        bundle install
        

        这将更新您的Gemfile.lockwebdrivers gem 并从中删除chrome-helper gem。

        就是这样。

        我希望这会有所帮助

        【讨论】:

          猜你喜欢
          • 2020-07-09
          • 1970-01-01
          • 1970-01-01
          • 2015-05-23
          • 2017-03-10
          • 2022-01-28
          • 1970-01-01
          • 2014-08-27
          • 1970-01-01
          相关资源
          最近更新 更多