def start_new_browser_session(options={})
start_args = [@browser_string, @browser_url, @extension_js]
if driver = options.delete(:driver)
expected_browser_string = "*webdriver"
unless @browser_string == expected_browser_string
raise ArgumentError, "can't use :driver unless the browser string is #{expected_browser_string.inspect} (got #{@browser_string.inspect})"
end
sid = driver.capabilities['webdriver.remote.sessionid']
sid or raise ArgumentError, "This driver can not be wrapped in the RC API."
start_args << "webdriver.remote.sessionid=#{sid}"
end
start_args << options.collect {|key,value| "#{key.to_s}=#{value.to_s}"}.sort.join(";")
@session_id = string_command "getNewBrowserSession", start_args
self.remote_control_timeout_in_seconds = @default_timeout_in_seconds
self.highlight_located_element = true if highlight_located_element_by_default
end