我一直在苦苦挣扎,试图获得一个简单的selenium-webdriver ruby测试脚本来执行 .

我真的很感激,如果有人能够解释我如何调试这个,或者如果有人之前已经解决了这个问题,那就解决它了 .

我的环境设置如下:

运行ruby版本的Mac OS X:ruby-2.0.0-p247

宝石安装:

  • bundler(1.3.5)

  • bundler-unload(1.0.1)

  • 子进程(0.3.9)

  • ffi(1.9.0)

  • multi_json(1.7.8)

  • rake(10.1.0)

  • rubygems-bundler(1.2.2)

  • rubyzip(0.9.9)

  • rvm(1.11.3.8)

  • selenium-webdriver(2.33.0)

  • websocket(1.0.7)

脚本执行:

#!/usr/bin/env ruby

require "selenium-webdriver"

driver = Selenium::WebDriver.for :firefox
driver.navigate.to "http://google.com"

element = driver.find_element(:name, 'q')
element.send_keys "Hello WebDriver!"
element.submit

puts driver.title

driver.quit

这是执行脚本时出现的错误:

/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/json/common.rb:155:in“parse”:来自〜/ .rvm的未初始化的常量JSON :: Parser(NameError) /gems/ruby-2.0.0-p247/gems/multi_json-1.7.8/lib/multi_json/adapters/json_common.rb:16:in'load'来自〜/ .rvm / gems / ruby-2.0.0-p247 /gems/multi_json-1.7.8/lib/multi_json/adapter.rb:19:in'load'来自〜/ .rvm / gems / ruby-2.0.0-p247 / gems / multi_json-1.7.8 / lib / multi_json .rb:118:在'load'来自〜/ .rvm / gems / ruby-2.0.0-p247 / gems / selenium-webdriver-2.33.0 / lib / selenium / webdriver / common / json_helper.rb:11:in来自〜/ .rvm / gems / ruby-2.0.0-p247 / gems / selenium-webdriver-2.33.0 / lib / selenium / webdriver / firefox / profile.rb的json_load':30:来自〜/的default_preferences' .rvm / gems / ruby-2.0.0-p247 / gems / selenium-webdriver-2.33.0 / lib / selenium / webdriver / firefox / profile.rb:221:来自〜/ .rvm / gems / ruby的update_user_prefs_in' -2.0.0-p247 / gems / selenium-webdriver-2.33.0 / lib / selenium / webdriver / firefox / profile.rb:79:来自〜/ .rvm / gems / ruby-2.0.0-p247的layout_on_disk' /gems/selenium-webdriver-2.33 .0 / lib / selenium / webdriver / firefox / launcher.rb:58:来自〜/ .rvm / gems / ruby-2.0.0-p247 / gems / selenium-webdriver-2.33.0 / lib / selenium的create_profile' /webdriver/firefox/launcher.rb:34:in启动时阻止来自〜/ .rvm / gems / ruby-2.0.0-p247 / gems / selenium-webdriver-2.33.0 / lib / selenium / webdriver / firefox /socket_lock.rb:20:in'lock'来自〜/ .rvm / gems / ruby-2.0.0-p247 / gems / selenium-webdriver-2.33.0 / lib / selenium / webdriver / firefox / launcher.rb:32 :在'launch'中~~ .rvm / gems / ruby-2.0.0-p247 / gems / selenium-webdriver-2.33.0 / lib / selenium / webdriver / firefox / bridge.rb:24:ininitialize'from 〜/ .rvm / gems / ruby-2.0.0-p247 / gems / selenium-webdriver-2.33.0 / lib / selenium / webdriver / common / driver.rb:31:来自〜/ .rvm / gems的new' /ruby-2.0.0-p247/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/common/driver.rb:31:infor'from〜/ .rvm / gems / ruby-2.0.0 -p247 / gems / selenium-webdriver-2.33.0 / lib / selenium / webdriver.rb:67:in`for'