无法在Mac上设置ruby-selenium Webdriver

san*_*ndy 6 ruby macos homebrew rvm

我一直在使用selenium IDE.现在我们决定使用Selenium webdriver和Ruby.我对如何设置Mac,Mac Pro Yosemite 10.10.5感到困惑.

在我的终端中,我运行了以下命令:

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew doctor
Your system is ready to brew.
$ brew install ruby
  ==> Summary
  /usr/local/Cellar/openssl/1.0.2d_1: 464 files, 18M
==> Installing ruby
==> Downloading https://homebrew.bintray.com/bottles/ruby-2.2.3.yosemite.bottle.100.0%
==> Pouring ruby-2.2.3.yosemite.bottle.tar.gz
    /usr/local/Cellar/ruby/2.2.3: 1080 files, 20M

$ ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]

$ sudo gem install selenium-webdriver
   Done installing documentation for websocket, ffi, childprocess, rubyzip, multi_json, selenium-webdriver after 25 seconds
6 gems installed
Run Code Online (Sandbox Code Playgroud)

我将从IDE记录的脚本导出到Ruby脚本中:export as ruby/rspec/webdriver.我Exam.rb在文档中保存了我的示例脚本.

当我运行时rspec Exam.rb,我收到以下错误:

/usr/local/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1327:in `load': cannot load such file -- /Users/xxxx/Documents/Exam.rb (LoadError)     
    from /usr/local/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1327:in `block in load_spec_files'        
    from /usr/local/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1325:in `each'        
    from /usr/local/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1325:in `load_spec_files'     
    from /usr/local/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:102:in `setup'       
    from /usr/local/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:88:in `run'      
    from /usr/local/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:73:in `run'      
    from /usr/local/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:41:in `invoke'       
    from /usr/local/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/exe/rspec:4:in `<top (required)>'     
    from /usr/local/bin/rspec:23:in `load'      
    from /usr/local/bin/rspec:23:in `<main>'        
Run Code Online (Sandbox Code Playgroud)

当我嘲笑红宝石版本时:

ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]
Run Code Online (Sandbox Code Playgroud)

G. *_*Joe 0

有了 ruby​​ 之后(我推荐Ruby Version Managerrbenv

您需要安装 gem selenium-webdriver

之后,您需要一个驱动程序来控制所需的浏览器,在我的情况下,我安装ChromeDriver,它只是一个二进制文件(我将它添加到我的家并使用二进制文件的路径编辑环境变量 $PATH )这就是所有的一切正在工作,您可以运行此 litlle 脚本来验证它:

require "selenium-webdriver"

driver = Selenium::WebDriver.for :chrome
driver.navigate.to "http://www.google.com"
element = driver.find_element(:name, 'q')
element.send_keys "Hello Selenium WebDriver!"
element.submit
puts driver.title
Run Code Online (Sandbox Code Playgroud)

参考这本书: Zhimin Zhan的Selenium WebDriver Recipes in ruby