我有我的版本的watir-webdriver工作的firefox 20。我使用下面的代码可以打开任何浏览器或无头phantomjs浏览器。 Chrome和幽灵般的工作,但Firefox会引发异常。无法用watir-webdriver创建Firefox浏览器
为什么?我该如何解决 ?
require 'rubygems'
require 'watir-webdriver'
require 'phantomjs'
def get_browser(browser_name)
browser = nil
if browser_name != nil
puts "\n#{browser_name} created\n"
browser = Watir::Browser.new browser_name.to_sym
else
puts "creating phantom browser !"
browser = Watir::Browser.new :phantomjs
puts "\nphantom created\n"
end
return browser
end
browser_name = ARGV[0]
browser = get_browser(browser_name)
puts "\n\n"
browser.close
Exception-
C:/code/ruby/lib/ruby/gems/1.8/gems/json_pure-1.4.3/lib/json/pure/generator.rb:393:in `to_json': undefined method `ascii_only?' for {}:Hash (NoMethodError)
from C:/code/ruby/lib/ruby/gems/1.8/gems/multi_json-1.3.7/lib/multi_json/adapters/json_common.rb:11:in `dump'
from C:/code/ruby/lib/ruby/gems/1.8/gems/multi_json-1.3.7/lib/multi_json.rb:115:in `dump'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/common/json_helper.rb:23:in `json_dump'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/profile.rb:254:in `write_prefs'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/profile.rb:253:in `each'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/profile.rb:253:in `write_prefs'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/profile.rb:252:in `open'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/profile.rb:252:in `write_prefs'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/profile.rb:232:in `update_user_prefs_in'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/profile.rb:79:in `layout_on_disk'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/launcher.rb:58:in `create_profile'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/launcher.rb:34:in `launch'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/socket_lock.rb:20:in `locked'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/launcher.rb:32:in `launch'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/firefox/bridge.rb:24:in `initialize'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/common/driver.rb:31:in `new'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/common/driver.rb:31:in `for'
from C:/code/ruby/lib/ruby/gems/1.8/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver.rb:67:in `for'
from C:/code/ruby/lib/ruby/gems/1.8/gems/watir-webdriver-0.6.2/lib/watir-webdriver/browser.rb:46:in `initialize'
from watir-browser.rb:9:in `new'
from watir-browser.rb:9:in `get_browser'
from watir-browser.rb:19
selenium-webdriver(2.33.0),watir-webdriver(0.6.2)。由于“约束”而无法真正更新它们。顺便说一下,卡尔,你的首选语言和QA自动化测试工具包是什么? – stack1 2015-04-04 17:34:12
@ stack1我是watir-webdriver和显然Ruby的黄瓜的粉丝(我甚至没有按照它的意图使用黄瓜) – Carldmitch 2015-04-05 14:06:17