无法在mac os el capitan上加载selenium-webdriver

时间:2015-12-02 11:45:12

标签: ruby selenium gem capybara osx-elcapitan

我升级到El Capitan然后问题开始了。当我运行cucumber features时,它会出现以下错误:

Background: Member should open homepage # features/m001_top_header.feature:6
Capybara's selenium driver is unable to load `selenium-webdriver`, please install the gem and add `gem 'selenium-webdriver'` to your Gemfile if you are using bundler. (LoadError)
./features/support/env.rb:47:in `new'
./features/support/env.rb:47:in `block in <top (required)>'
./features/support/app_life_cycle_hooks.rb:22:in `Before'
Capybara's selenium driver is unable to load `selenium-webdriver`, please install the gem and add `gem 'selenium-webdriver'` to your Gemfile if you are using bundler. (LoadError)
./features/support/env.rb:47:in `new'
./features/support/env.rb:47:in `block in <top (required)>'
./features/support/app_life_cycle_hooks.rb:22:in `Before'

当我运行bundle install时,安装了selenium-webdriver

~/P/m/web-automation (responsive ⚡=) bundle install
...
Using websocket 1.2.2
Using selenium-webdriver 2.48.1
Using spec 5.3.4
...
Bundle complete! 13 Gemfile dependencies, 61 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
~/P/m/web-automation (responsive ⚡=) bundle show selenium-webdriver
/usr/local/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.48.1

但是当我检查which selenium-webdriver时,它什么都不返回:

~/P/m/web-automation (responsive ⚡=) which selenium-webdriver
~/P/m/web-automation (responsive ⚡=) which rspec
/usr/local/bin/rspec
~/P/m/web-automation (responsive ⚡=) which ruby
/usr/local/bin/ruby
~/P/m/web-automation (responsive ⚡=) which selenium-webdriver
~/P/m/web-automation (responsive ⚡=) 

我的红宝石版本是:

~/P/m/web-automation (responsive ⚡=) ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin15]

我猜这个问题与路径和配置有关,因为我可以要求selenium-webdriver irb,但我无法解决它。任何大师请帮我解决这个问题?

2 个答案:

答案 0 :(得分:1)

尝试运行

bundle exec cucumber

答案 1 :(得分:0)

可能有人需要此解决方案。

经过多次试验,最终我找到了解决问题的方法。首先,rbenvruby的版本不同,因此请将相同版本的ruby与rbenv安装为ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]。之后再次安装bundle,最后bundle install成功安装了webkit和其他宝石。

~/P/m/web-automation (responsive ⚡=) rbenv version
2.0.0-p645 (set by /Users/mesutgunes/.rbenv/version)
~/P/m/web-automation (responsive ⚡=) ruby -v
ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]
~/P/m/web-automation (responsive ⚡=) bundle install
Failed to execute process '/usr/local/bin/bundle'. Reason:
The file '/usr/local/bin/bundle' specified the interpreter '/usr/local/opt/ruby/bin/ruby', which is not an executable command.
~/P/m/web-automation (responsive ⚡=)
~/P/m/web-automation (responsive ⚡=)
~/P/m/web-automation (responsive ⚡=) gem install bundler
Successfully installed bundler-1.10.6
Parsing documentation for bundler-1.10.6
1 gem installed
~/P/m/web-automation (responsive ⚡=) bundle install