class Jasmine::SeleniumDriver
Public Class Methods
new(browser, http_address)
click to toggle source
# File lib/jasmine/selenium_driver.rb, line 4 def initialize(browser, http_address) require 'selenium-webdriver' selenium_server = if ENV['SELENIUM_SERVER'] ENV['SELENIUM_SERVER'] elsif ENV['SELENIUM_SERVER_PORT'] "http://localhost:#{ENV['SELENIUM_SERVER_PORT']}/wd/hub" end options = if browser == "firefox" && ENV["JASMINE_FIREBUG"] require File.join(File.dirname(__FILE__), "firebug/firebug") profile = Selenium::WebDriver::Firefox::Profile.new profile.enable_firebug {:profile => profile} end || {} @driver = if selenium_server Selenium::WebDriver.for :remote, :url => selenium_server, :desired_capabilities => browser.to_sym else Selenium::WebDriver.for browser.to_sym, options end @http_address = http_address end
Public Instance Methods
connect()
click to toggle source
# File lib/jasmine/selenium_driver.rb, line 25 def connect @driver.navigate.to @http_address end
disconnect()
click to toggle source
# File lib/jasmine/selenium_driver.rb, line 29 def disconnect @driver.quit end
eval_js(script)
click to toggle source
# File lib/jasmine/selenium_driver.rb, line 33 def eval_js(script) result = @driver.execute_script(script) MultiJson.load("{\"result\":#{result}}", :max_nesting => false)["result"] end
json_generate(obj)
click to toggle source
# File lib/jasmine/selenium_driver.rb, line 38 def json_generate(obj) MultiJson.dump(obj) end