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

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:



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

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

#active_elementObject



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

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

#close_window(handle) ⇒ Object



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

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



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

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:



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

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, **options) ⇒ Object

Raises:

  • (NotImplementedError)


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

def find_css(query, **options)
  raise NotImplementedError
end

#find_xpath(query, **options) ⇒ Object

Raises:

  • (NotImplementedError)


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

def find_xpath(query, **options)
  raise NotImplementedError
end

#frame_titleObject



78
79
80
# File 'lib/capybara/driver/base.rb', line 78

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

#frame_urlObject



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

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

#fullscreen_window(handle) ⇒ Object



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

def fullscreen_window(handle)
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#fullscreen_window'
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



155
156
157
# File 'lib/capybara/driver/base.rb', line 155

def invalid_element_errors
  []
end

#maximize_window(handle) ⇒ Object



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

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

#needs_server?Boolean

Returns:

  • (Boolean)


165
166
167
# File 'lib/capybara/driver/base.rb', line 165

def needs_server?
  false
end

#no_such_window_errorObject



124
125
126
# File 'lib/capybara/driver/base.rb', line 124

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

#open_new_windowObject



116
117
118
# File 'lib/capybara/driver/base.rb', line 116

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



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

def reset!; end

#resize_window_to(handle, width, height) ⇒ Object



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

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

#send_keysObject



62
63
64
# File 'lib/capybara/driver/base.rb', line 62

def send_keys(*)
  raise Capybara::NotSupportedByDriverError, 'Capybara::Driver::Base#send_keys'
end

#session_optionsObject



169
170
171
# File 'lib/capybara/driver/base.rb', line 169

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:



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

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

#switch_to_window(handle) ⇒ Object



120
121
122
# File 'lib/capybara/driver/base.rb', line 120

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)


159
160
161
# File 'lib/capybara/driver/base.rb', line 159

def wait?
  false
end

#window_handlesObject



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

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

#window_size(handle) ⇒ Object



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

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