You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby on Rails新手求助:加载user_spec.rb时出现NoMethodError错误

Ruby on Rails 测试报错:undefined method `driver_path=' for Selenium::WebDriver::Chrome:Module

报错详情:

An error occurred while loading ./spec/models/user_spec.rb.
Failure/Error: require_relative '../config/environment'

NoMethodError:
  undefined method `driver_path=' for Selenium::WebDriver::Chrome:Module
# /home/umair/.rvm/gems/ruby-2.7.0/gems/chromedriver-helper-2.1.1/lib/chromedriver-helper.rb:4:in `<main>'
# /home/umair/.rvm/gems/ruby-2.7.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
# /home/umair/.rvm/gems/ruby-2.7.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
# ./config/application.rb:10:in `<top (required)>'
# ./config/environment.rb:4:in `require_relative'
# ./config/environment.rb:4:in `<top (required)>'
# ./spec/rails_helper.rb:4:in `require_relative'
# ./spec/rails_helper.rb:4:in `<top (required)>'
# ./spec/models/user_spec.rb:1:in `require'
# ./spec/models/user_spec.rb:1:in `<top (required)>'
No examples found.

问题原因

chromedriver-helper 是已废弃的gem,它调用的Selenium::WebDriver::Chrome.driver_path=方法在新版本Selenium WebDriver中已被移除,导致兼容性冲突。

解决步骤

  • 打开项目Gemfile,删除gem 'chromedriver-helper'这一行
  • 在Gemfile的test分组中添加webdrivers gem(自动管理浏览器驱动版本):
    group :test do
      gem 'webdrivers'
    end
    
  • 运行命令更新依赖:
    bundle install
    
  • 若仍有版本冲突,在Gemfile中指定适配Ruby 2.7.0的Selenium版本:
    gem 'selenium-webdriver', '~> 4.0'
    
    再次执行bundle install
  • 重新运行测试:
    rspec spec/models/user_spec.rb
    

内容的提问来源于stack exchange,提问作者Umair Hameed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 18:01:17