Tuesday, 6 August 2013

Executing a simple selenium-webdriver ruby script yielded uninitialized constant JSON::Parser error

Executing a simple selenium-webdriver ruby script yielded uninitialized
constant JSON::Parser error

I have been struggling around for a bit, trying to get a simple
selenium-webdriver ruby test script to execute right.
I would really appreciate if anyone can shed some light to how I can debug
this or if someone has resolved this before, the solution to it.
My environment setup as follows:
Mac OS X running ruby version: ruby-2.0.0-p247
Gems installed:
bundler (1.3.5)
bundler-unload (1.0.1)
childprocess (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)
Script executed: #!/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
And here is the error I get upon executing the script:
~/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/json/common.rb:155:in parse':
uninitialized constant JSON::Parser (> NameError) from
~/.rvm/gems/ruby-2.0.0-p247/gems/multi_json-1.7.8/lib/multi_json/adapters/json_common.rb:16:inload'
from
~/.rvm/gems/ruby-2.0.0-p247/gems/multi_json-1.7.8/lib/multi_json/adapter.rb:19:in
load' from
~/.rvm/gems/ruby-2.0.0-p247/gems/multi_json-1.7.8/lib/multi_json.rb:118:inload'
from
~/.rvm/gems/ruby-2.0.0-p247/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/common/json_helper.rb:11:in
> json_load' from
~/.rvm/gems/ruby-2.0.0-p247/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/profile.rb:30:in
>default_preferences' from
~/.rvm/gems/ruby-2.0.0-p247/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/profile.rb:221:in
> update_user_prefs_in' from
~/.rvm/gems/ruby-2.0.0-p247/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/profile.rb:79:in
>layout_on_disk' from
~/.rvm/gems/ruby-2.0.0-p247/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/launcher.rb:58:in
> create_profile' from
~/.rvm/gems/ruby-2.0.0-p247/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/launcher.rb:34:in
>block in launch' from
~/.rvm/gems/ruby-2.0.0-p247/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/socket_lock.rb:20:in
> locked' from
~/.rvm/gems/ruby-2.0.0-p247/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/launcher.rb:32:in
>launch' from
~/.rvm/gems/ruby-2.0.0-p247/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/bridge.rb:24:in
> initialize' from
~/.rvm/gems/ruby-2.0.0-p247/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/common/driver.rb:31:innew'
from
~/.rvm/gems/ruby-2.0.0-p247/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/common/driver.rb:31:in
for' from
~/.rvm/gems/ruby-2.0.0-p247/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver.rb:67:infor'

No comments:

Post a Comment