无法在 Mac 上设置 ruby​​-selenium Webdriver

Posted

技术标签:

【中文标题】无法在 Mac 上设置 ruby​​-selenium Webdriver【英文标题】:Can't set up ruby-selenium Webdriver on Mac 【发布时间】:2016-01-09 00:10:33 【问题描述】:

我一直在工作中使用 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

我将从 IDE 记录的脚本导出到 Ruby 脚本中:导出为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>'        

当我检查 ruby​​ 版本时:

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

【问题讨论】:

你检查过这个链接吗? ***.com/questions/18868743/… @SankarRaj Chked。实际上,我的问题是不同的。尝试打开 ruby​​ 脚本时出现错误。所以我认为我的设置出了问题 能否请您包含“Exam.rb”文件? 还有一些事情。使用 rvm 进行 ruby​​ 安装而不是系统 ruby​​,并且不要 sudo install gems,这可能会出现问题。 【参考方案1】:

在你拥有 ruby​​ 之后(我推荐 RubyVersionManager 或 rbenv

你需要安装 gem selenium-webdriver

然后,您需要一个driver 来控制所需的浏览器,在我的情况下,我安装了ChromeDriver,它只是一个二进制文件(我将它添加到我的家中并使用路径编辑环境变量 $PATH二进制文件)这一切都在工作,你可以运行这个小脚本来验证它:

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

查阅本书:詹志敏的红宝石Selenium WebDriver Recipes

【讨论】:

以上是关于无法在 Mac 上设置 ruby​​-selenium Webdriver的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mac OS 上使用 ruby​​ 设置文件创建时间?

Ruby cairo gem 无法在 Mac OS X Yosemite 上安装

如何让 XAMPP 的 MySQL 和 Ruby on Rails 在我的 Mac 上协同工作?

在Mac上安装ruby环境

MacOs (M1 Arm64) 无法加载 Nokogiri - 使用系统默认 Ruby

无法使用 Mavericks 在我的 Mac 上安装 PG gem