teamcapybara--capybara/lib/capybara/driver/base.rb

171 lines
4.5 KiB
Ruby
Raw Normal View History

2016-03-08 00:52:19 +00:00
# frozen_string_literal: true
2018-01-08 20:23:54 +00:00
class Capybara::Driver::Base
2017-04-29 16:58:03 +00:00
attr_writer :session
def current_url
2009-12-30 04:43:14 +00:00
raise NotImplementedError
end
def visit(path)
2009-12-30 04:43:14 +00:00
raise NotImplementedError
end
2009-12-30 04:43:14 +00:00
2017-07-04 22:14:55 +00:00
def refresh
raise NotImplementedError
end
def find_xpath(query, **options)
raise NotImplementedError
end
def find_css(query, **options)
2009-12-30 04:43:14 +00:00
raise NotImplementedError
end
2009-12-30 04:43:14 +00:00
def html
2010-07-10 01:11:54 +00:00
raise NotImplementedError
2009-12-14 14:30:29 +00:00
end
2009-12-30 04:43:14 +00:00
def go_back
2013-10-29 09:04:32 +00:00
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#go_back'
end
def go_forward
2013-10-29 09:04:32 +00:00
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#go_forward'
end
def execute_script(script, *args)
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#execute_script'
end
2009-12-30 04:43:14 +00:00
def evaluate_script(script, *args)
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#evaluate_script'
end
2017-10-20 22:18:00 +00:00
def evaluate_async_script(script, *args)
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#evaluate_script_asnyc'
end
2016-11-14 02:32:23 +00:00
def save_screenshot(path, **options)
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#save_screenshot'
end
def response_headers
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#response_headers'
end
2010-10-29 11:41:49 +00:00
def status_code
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#status_code'
end
2009-12-30 04:43:14 +00:00
2016-07-15 18:00:14 +00:00
##
#
# @param frame [Capybara::Node::Element, :parent, :top] The iframe element to switch to
#
def switch_to_frame(frame)
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#switch_to_frame'
2010-01-12 19:40:10 +00:00
end
def frame_title
2018-03-23 16:07:08 +00:00
find_xpath('/html/head/title').map(&:all_text).first.to_s
end
def frame_url
evaluate_script('document.location.href')
rescue Capybara::NotSupportedByDriverError
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#frame_title'
end
def current_window_handle
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#current_window_handle'
end
def window_size(handle)
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#window_size'
end
def resize_window_to(handle, width, height)
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#resize_window_to'
end
def maximize_window(handle)
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#maximize_window'
end
def fullscreen_window(handle)
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#fullscreen_window'
2014-04-10 07:20:27 +00:00
end
def close_window(handle)
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#close_window'
end
def window_handles
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#window_handles'
end
def open_new_window
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#open_new_window'
end
def switch_to_window(handle)
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#switch_to_window'
end
def no_such_window_error
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#no_such_window_error'
end
##
#
# Execute the block, and then accept the modal opened.
# @param type [:alert, :confirm, :prompt]
# @option options [Numeric] :wait How long to wait for the modal to appear after executing the block.
# @option options [String, Regexp] :text Text to verify is in the message shown in the modal
# @option options [String] :with Text to fill in in the case of a prompt
# @return [String] the message shown in the modal
# @raise [Capybara::ModalNotFound] if modal dialog hasn't been found
#
2016-08-17 23:14:39 +00:00
def accept_modal(type, **options, &blk)
2013-04-01 22:41:55 +00:00
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#accept_modal'
end
##
#
# Execute the block, and then dismiss the modal opened.
# @param type [:alert, :confirm, :prompt]
# @option options [Numeric] :wait How long to wait for the modal to appear after executing the block.
# @option options [String, Regexp] :text Text to verify is in the message shown in the modal
# @return [String] the message shown in the modal
# @raise [Capybara::ModalNotFound] if modal dialog hasn't been found
#
2016-08-17 23:14:39 +00:00
def dismiss_modal(type, **options, &blk)
2013-04-01 22:41:55 +00:00
raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#dismiss_modal'
end
2011-07-13 13:39:17 +00:00
def invalid_element_errors
[]
end
2010-07-10 01:11:54 +00:00
def wait?
false
end
2018-01-08 20:23:54 +00:00
def reset!; end
def needs_server?
false
end
def session_options
2018-08-06 20:44:28 +00:00
session&.config || Capybara.session_options
end
private
def session
@session ||= nil
end
2009-12-30 04:43:14 +00:00
end