Class: Capybara::Driver::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/capybara/driver/base.rb

Direct Known Subclasses

RackTest::Driver, Selenium::Driver

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#session=(value) ⇒ Object (writeonly)

Sets the attribute session

Parameters:

  • value

    the value to set the attribute session to.



4
5
6
# File 'lib/capybara/driver/base.rb', line 4

def session=(value)
  @session = value
end

Instance Method Details

#accept_modal(type, **options, &blk) ⇒ String

Execute the block, and then accept the modal opened.

Parameters:

  • type (:alert, :confirm, :prompt)
  • options (Hash)

    a customizable set of options

Options Hash (**options):

  • :wait (Numeric)

    How long to wait for the modal to appear after executing the block.

  • :text (String, Regexp)

    Text to verify is in the message shown in the modal

  • :with (String)

    Text to fill in in the case of a prompt

Returns:

  • (String)

    the message shown in the modal

Raises:



126
127
128
# File 'lib/capybara/driver/base.rb', line 126

def accept_modal(type, **options, &blk)
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#accept_modal'
end

#close_window(handle) ⇒ Object



96
97
98
# File 'lib/capybara/driver/base.rb', line 96

def close_window(handle)
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#close_window'
end

#current_urlObject

Raises:

  • (NotImplementedError)


6
7
8
# File 'lib/capybara/driver/base.rb', line 6

def current_url
  raise NotImplementedError
end

#current_window_handleObject



80
81
82
# File 'lib/capybara/driver/base.rb', line 80

def current_window_handle
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#current_window_handle'
end

#dismiss_modal(type, **options, &blk) ⇒ String

Execute the block, and then dismiss the modal opened.

Parameters:

  • type (:alert, :confirm, :prompt)
  • options (Hash)

    a customizable set of options

Options Hash (**options):

  • :wait (Numeric)

    How long to wait for the modal to appear after executing the block.

  • :text (String, Regexp)

    Text to verify is in the message shown in the modal

Returns:

  • (String)

    the message shown in the modal

Raises:



139
140
141
# File 'lib/capybara/driver/base.rb', line 139

def dismiss_modal(type, **options, &blk)
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#dismiss_modal'
end

#evaluate_async_script(script, *args) ⇒ Object



46
47
48
# File 'lib/capybara/driver/base.rb', line 46

def evaluate_async_script(script, *args)
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#evaluate_script_asnyc'
end

#evaluate_script(script, *args) ⇒ Object



42
43
44
# File 'lib/capybara/driver/base.rb', line 42

def evaluate_script(script, *args)
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#evaluate_script'
end

#execute_script(script, *args) ⇒ Object



38
39
40
# File 'lib/capybara/driver/base.rb', line 38

def execute_script(script, *args)
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#execute_script'
end

#find_css(query) ⇒ Object

Raises:

  • (NotImplementedError)


22
23
24
# File 'lib/capybara/driver/base.rb', line 22

def find_css(query)
  raise NotImplementedError
end

#find_xpath(query) ⇒ Object

Raises:

  • (NotImplementedError)


18
19
20
# File 'lib/capybara/driver/base.rb', line 18

def find_xpath(query)
  raise NotImplementedError
end

#frame_titleObject



70
71
72
# File 'lib/capybara/driver/base.rb', line 70

def frame_title
  find_xpath('/html/head/title').map(&:all_text).first.to_s
end

#frame_urlObject



74
75
76
77
78
# File 'lib/capybara/driver/base.rb', line 74

def frame_url
  evaluate_script('document.location.href')
rescue Capybara::NotSupportedByDriverError
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#frame_title'
end

#go_backObject



30
31
32
# File 'lib/capybara/driver/base.rb', line 30

def go_back
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#go_back'
end

#go_forwardObject



34
35
36
# File 'lib/capybara/driver/base.rb', line 34

def go_forward
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#go_forward'
end

#htmlObject

Raises:

  • (NotImplementedError)


26
27
28
# File 'lib/capybara/driver/base.rb', line 26

def html
  raise NotImplementedError
end

#invalid_element_errorsObject



143
144
145
# File 'lib/capybara/driver/base.rb', line 143

def invalid_element_errors
  []
end

#maximize_window(handle) ⇒ Object



92
93
94
# File 'lib/capybara/driver/base.rb', line 92

def maximize_window(handle)
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#maximize_current_window'
end

#needs_server?Boolean

Returns:

  • (Boolean)


153
154
155
# File 'lib/capybara/driver/base.rb', line 153

def needs_server?
  false
end

#no_such_window_errorObject



112
113
114
# File 'lib/capybara/driver/base.rb', line 112

def no_such_window_error
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#no_such_window_error'
end

#open_new_windowObject



104
105
106
# File 'lib/capybara/driver/base.rb', line 104

def open_new_window
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#open_new_window'
end

#refreshObject

Raises:

  • (NotImplementedError)


14
15
16
# File 'lib/capybara/driver/base.rb', line 14

def refresh
  raise NotImplementedError
end

#reset!Object



151
# File 'lib/capybara/driver/base.rb', line 151

def reset!; end

#resize_window_to(handle, width, height) ⇒ Object



88
89
90
# File 'lib/capybara/driver/base.rb', line 88

def resize_window_to(handle, width, height)
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#resize_window_to'
end

#response_headersObject



54
55
56
# File 'lib/capybara/driver/base.rb', line 54

def response_headers
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#response_headers'
end

#save_screenshot(path, **options) ⇒ Object



50
51
52
# File 'lib/capybara/driver/base.rb', line 50

def save_screenshot(path, **options)
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#save_screenshot'
end

#session_optionsObject



157
158
159
# File 'lib/capybara/driver/base.rb', line 157

def session_options
  @session&.config || Capybara.session_options
end

#status_codeObject



58
59
60
# File 'lib/capybara/driver/base.rb', line 58

def status_code
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#status_code'
end

#switch_to_frame(frame) ⇒ Object

Parameters:

Raises:



66
67
68
# File 'lib/capybara/driver/base.rb', line 66

def switch_to_frame(frame)
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#switch_to_frame'
end

#switch_to_window(handle) ⇒ Object



108
109
110
# File 'lib/capybara/driver/base.rb', line 108

def switch_to_window(handle)
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#switch_to_window'
end

#visit(path) ⇒ Object

Raises:

  • (NotImplementedError)


10
11
12
# File 'lib/capybara/driver/base.rb', line 10

def visit(path)
  raise NotImplementedError
end

#wait?Boolean

Returns:

  • (Boolean)


147
148
149
# File 'lib/capybara/driver/base.rb', line 147

def wait?
  false
end

#window_handlesObject



100
101
102
# File 'lib/capybara/driver/base.rb', line 100

def window_handles
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#window_handles'
end

#window_size(handle) ⇒ Object



84
85
86
# File 'lib/capybara/driver/base.rb', line 84

def window_size(handle)
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#window_size'
end