selenium-webdriver 2.53.4 → 3.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGES +363 -10
- data/LICENSE +1 -1
- data/README.md +2 -3
- data/lib/selenium-webdriver.rb +0 -2
- data/lib/selenium/server.rb +69 -70
- data/lib/selenium/webdriver.rb +32 -23
- data/lib/selenium/webdriver/atoms.rb +18 -0
- data/lib/selenium/webdriver/atoms/getAttribute.js +8 -0
- data/lib/selenium/webdriver/chrome.rb +8 -6
- data/lib/selenium/webdriver/chrome/driver.rb +112 -0
- data/lib/selenium/webdriver/chrome/options.rb +168 -0
- data/lib/selenium/webdriver/chrome/profile.rb +17 -17
- data/lib/selenium/webdriver/chrome/service.rb +22 -89
- data/lib/selenium/webdriver/common.rb +13 -6
- data/lib/selenium/webdriver/common/action_builder.rb +49 -57
- data/lib/selenium/webdriver/common/alert.rb +5 -15
- data/lib/selenium/webdriver/common/bridge_helper.rb +10 -17
- data/lib/selenium/webdriver/common/driver.rb +53 -68
- data/lib/selenium/webdriver/common/driver_extensions/{has_input_devices.rb → has_addons.rb} +13 -23
- data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +4 -8
- data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +4 -7
- data/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +0 -4
- data/lib/selenium/webdriver/common/driver_extensions/has_session_id.rb +0 -4
- data/lib/selenium/webdriver/common/driver_extensions/has_touch_screen.rb +1 -5
- data/lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb +0 -5
- data/lib/selenium/webdriver/common/driver_extensions/rotatable.rb +4 -9
- data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +7 -7
- data/lib/selenium/webdriver/common/driver_extensions/uploads_files.rb +2 -7
- data/lib/selenium/webdriver/common/element.rb +57 -39
- data/lib/selenium/webdriver/common/error.rb +204 -106
- data/lib/selenium/webdriver/common/file_reaper.rb +3 -11
- data/lib/selenium/webdriver/common/html5/local_storage.rb +6 -10
- data/lib/selenium/webdriver/common/html5/session_storage.rb +6 -10
- data/lib/selenium/webdriver/common/html5/shared_web_storage.rb +7 -18
- data/lib/selenium/webdriver/{safari/options.rb → common/interactions/input_device.rb} +20 -31
- data/lib/selenium/webdriver/common/interactions/interaction.rb +50 -0
- data/lib/selenium/webdriver/{safari/browser.rb → common/interactions/interactions.rb} +16 -15
- data/lib/selenium/webdriver/common/interactions/key_actions.rb +143 -0
- data/lib/selenium/webdriver/common/interactions/key_input.rb +62 -0
- data/lib/selenium/webdriver/{android.rb → common/interactions/none_input.rb} +11 -6
- data/lib/selenium/webdriver/common/interactions/pointer_actions.rb +353 -0
- data/lib/selenium/webdriver/common/interactions/pointer_input.rb +132 -0
- data/lib/selenium/webdriver/common/keyboard.rb +7 -14
- data/lib/selenium/webdriver/common/keys.rb +99 -82
- data/lib/selenium/webdriver/common/log_entry.rb +3 -6
- data/lib/selenium/webdriver/common/logger.rb +140 -0
- data/lib/selenium/webdriver/common/logs.rb +2 -6
- data/lib/selenium/webdriver/common/mouse.rb +9 -14
- data/lib/selenium/webdriver/common/navigation.rb +2 -6
- data/lib/selenium/webdriver/common/options.rb +20 -23
- data/lib/selenium/webdriver/common/platform.rb +70 -97
- data/lib/selenium/webdriver/common/port_prober.rb +3 -4
- data/lib/selenium/webdriver/common/profile_helper.rb +6 -11
- data/lib/selenium/webdriver/common/proxy.rb +58 -72
- data/lib/selenium/webdriver/common/search_context.rb +22 -29
- data/lib/selenium/webdriver/common/service.rb +161 -0
- data/lib/selenium/webdriver/common/socket_lock.rb +6 -14
- data/lib/selenium/webdriver/common/socket_poller.rb +5 -12
- data/lib/selenium/webdriver/common/target_locator.rb +11 -15
- data/lib/selenium/webdriver/common/timeouts.rb +4 -8
- data/lib/selenium/webdriver/common/touch_action_builder.rb +2 -6
- data/lib/selenium/webdriver/common/touch_screen.rb +19 -23
- data/lib/selenium/webdriver/common/w3c_action_builder.rb +209 -0
- data/lib/selenium/webdriver/{phantomjs.rb → common/w3c_options.rb} +16 -14
- data/lib/selenium/webdriver/common/wait.rb +6 -13
- data/lib/selenium/webdriver/common/window.rb +48 -17
- data/lib/selenium/webdriver/common/zipper.rb +6 -10
- data/lib/selenium/webdriver/edge.rb +5 -12
- data/lib/selenium/webdriver/edge/bridge.rb +32 -63
- data/lib/selenium/webdriver/edge/driver.rb +73 -0
- data/lib/selenium/webdriver/edge/service.rb +18 -87
- data/lib/selenium/webdriver/firefox.rb +20 -11
- data/lib/selenium/webdriver/firefox/binary.rb +40 -56
- data/lib/selenium/webdriver/firefox/driver.rb +48 -0
- data/lib/selenium/webdriver/firefox/extension.rb +18 -8
- data/lib/selenium/webdriver/firefox/extension/prefs.json +3 -11
- data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
- data/lib/selenium/webdriver/firefox/launcher.rb +13 -22
- data/lib/selenium/webdriver/firefox/legacy/driver.rb +79 -0
- data/lib/selenium/webdriver/{iphone.rb → firefox/marionette/bridge.rb} +25 -6
- data/lib/selenium/webdriver/firefox/marionette/driver.rb +96 -0
- data/lib/selenium/webdriver/firefox/options.rb +149 -0
- data/lib/selenium/webdriver/firefox/profile.rb +46 -46
- data/lib/selenium/webdriver/firefox/profiles_ini.rb +8 -18
- data/lib/selenium/webdriver/firefox/service.rb +23 -83
- data/lib/selenium/webdriver/firefox/util.rb +0 -4
- data/lib/selenium/webdriver/ie.rb +4 -8
- data/lib/selenium/webdriver/ie/driver.rb +90 -0
- data/lib/selenium/webdriver/ie/options.rb +136 -0
- data/lib/selenium/webdriver/ie/service.rb +58 -0
- data/lib/selenium/webdriver/remote.rb +8 -16
- data/lib/selenium/webdriver/remote/bridge.rb +96 -565
- data/lib/selenium/webdriver/remote/capabilities.rb +76 -94
- data/lib/selenium/webdriver/remote/driver.rb +49 -0
- data/lib/selenium/webdriver/remote/http/common.rb +22 -20
- data/lib/selenium/webdriver/remote/http/curb.rb +9 -12
- data/lib/selenium/webdriver/remote/http/default.rb +54 -41
- data/lib/selenium/webdriver/remote/http/persistent.rb +9 -8
- data/lib/selenium/webdriver/remote/oss/bridge.rb +586 -0
- data/lib/selenium/webdriver/remote/oss/commands.rb +221 -0
- data/lib/selenium/webdriver/remote/response.rb +39 -27
- data/lib/selenium/webdriver/remote/server_error.rb +1 -5
- data/lib/selenium/webdriver/remote/w3c/bridge.rb +573 -0
- data/lib/selenium/webdriver/remote/w3c/capabilities.rb +290 -0
- data/lib/selenium/webdriver/remote/w3c/commands.rb +148 -0
- data/lib/selenium/webdriver/safari.rb +20 -29
- data/lib/selenium/webdriver/{firefox/w3c_bridge.rb → safari/driver.rb} +21 -30
- data/lib/selenium/webdriver/safari/service.rb +57 -0
- data/lib/selenium/webdriver/support.rb +1 -2
- data/lib/selenium/webdriver/support/abstract_event_listener.rb +17 -4
- data/lib/selenium/webdriver/support/block_event_listener.rb +1 -5
- data/lib/selenium/webdriver/support/color.rb +57 -42
- data/lib/selenium/webdriver/support/escaper.rb +41 -0
- data/lib/selenium/webdriver/support/event_firing_bridge.rb +36 -40
- data/lib/selenium/webdriver/support/select.rb +33 -86
- data/selenium-webdriver.gemspec +22 -25
- metadata +254 -261
- data/lib/selenium-client.rb +0 -21
- data/lib/selenium/client.rb +0 -57
- data/lib/selenium/client/base.rb +0 -151
- data/lib/selenium/client/driver.rb +0 -29
- data/lib/selenium/client/errors.rb +0 -28
- data/lib/selenium/client/extensions.rb +0 -132
- data/lib/selenium/client/idiomatic.rb +0 -507
- data/lib/selenium/client/javascript_expression_builder.rb +0 -135
- data/lib/selenium/client/javascript_frameworks/jquery.rb +0 -32
- data/lib/selenium/client/javascript_frameworks/prototype.rb +0 -32
- data/lib/selenium/client/legacy_driver.rb +0 -1722
- data/lib/selenium/client/protocol.rb +0 -123
- data/lib/selenium/client/selenium_helper.rb +0 -49
- data/lib/selenium/rake/server_task.rb +0 -176
- data/lib/selenium/webdriver/android/bridge.rb +0 -68
- data/lib/selenium/webdriver/chrome/bridge.rb +0 -139
- data/lib/selenium/webdriver/common/core_ext/base64.rb +0 -28
- data/lib/selenium/webdriver/common/core_ext/dir.rb +0 -61
- data/lib/selenium/webdriver/common/html5/location.rb +0 -19
- data/lib/selenium/webdriver/common/w3c_error.rb +0 -194
- data/lib/selenium/webdriver/edge/legacy_support.rb +0 -117
- data/lib/selenium/webdriver/firefox/bridge.rb +0 -89
- data/lib/selenium/webdriver/ie/bridge.rb +0 -88
- data/lib/selenium/webdriver/ie/server.rb +0 -133
- data/lib/selenium/webdriver/iphone/bridge.rb +0 -64
- data/lib/selenium/webdriver/phantomjs/bridge.rb +0 -78
- data/lib/selenium/webdriver/phantomjs/service.rb +0 -130
- data/lib/selenium/webdriver/remote/commands.rb +0 -211
- data/lib/selenium/webdriver/remote/w3c_bridge.rb +0 -668
- data/lib/selenium/webdriver/remote/w3c_capabilities.rb +0 -236
- data/lib/selenium/webdriver/remote/w3c_commands.rb +0 -132
- data/lib/selenium/webdriver/safari/bridge.rb +0 -135
- data/lib/selenium/webdriver/safari/resources/client.js +0 -7255
- data/lib/selenium/webdriver/safari/server.rb +0 -187
@@ -1,5 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
#
|
3
1
|
# Licensed to the Software Freedom Conservancy (SFC) under one
|
4
2
|
# or more contributor license agreements. See the NOTICE file
|
5
3
|
# distributed with this work for additional information
|
@@ -21,118 +19,144 @@ module Selenium
|
|
21
19
|
module WebDriver
|
22
20
|
module Error
|
23
21
|
|
22
|
+
#
|
23
|
+
# Returns exception from code (Integer - OSS, String - W3C).
|
24
|
+
# @param [Integer, String, nil] code
|
25
|
+
#
|
26
|
+
|
27
|
+
def self.for_code(code)
|
28
|
+
case code
|
29
|
+
when nil, 0
|
30
|
+
nil
|
31
|
+
when Integer
|
32
|
+
ERRORS.fetch(code)
|
33
|
+
when String
|
34
|
+
klass_name = code.split(' ').map(&:capitalize).join.sub(/Error$/, '')
|
35
|
+
const_get("#{klass_name}Error")
|
36
|
+
end
|
37
|
+
rescue NameError
|
38
|
+
WebDriverError
|
39
|
+
end
|
40
|
+
|
24
41
|
class WebDriverError < StandardError; end
|
25
|
-
class UnsupportedOperationError < WebDriverError; end
|
26
42
|
|
27
|
-
class IndexOutOfBoundsError < WebDriverError; end
|
28
|
-
class NoCollectionError < WebDriverError; end
|
29
|
-
class NoStringError < WebDriverError; end
|
30
|
-
class NoStringLengthError < WebDriverError; end
|
31
|
-
class NoStringWrapperError < WebDriverError; end
|
32
|
-
class NoSuchDriverError < WebDriverError; end
|
43
|
+
class IndexOutOfBoundsError < WebDriverError; end # 1
|
44
|
+
class NoCollectionError < WebDriverError; end # 2
|
45
|
+
class NoStringError < WebDriverError; end # 3
|
46
|
+
class NoStringLengthError < WebDriverError; end # 4
|
47
|
+
class NoStringWrapperError < WebDriverError; end # 5
|
48
|
+
class NoSuchDriverError < WebDriverError; end # 6
|
33
49
|
|
34
50
|
#
|
35
|
-
# An element could not be located on the page using the given search
|
36
|
-
# parameters.
|
51
|
+
# An element could not be located on the page using the given search parameters.
|
37
52
|
#
|
38
53
|
|
39
|
-
class NoSuchElementError < WebDriverError; end
|
54
|
+
class NoSuchElementError < WebDriverError; end # 7
|
40
55
|
|
41
56
|
#
|
42
|
-
# A
|
43
|
-
# frame could not be found.
|
57
|
+
# A command to switch to a frame could not be satisfied because the frame could not be found.
|
44
58
|
#
|
45
59
|
|
46
|
-
class NoSuchFrameError < WebDriverError; end
|
47
|
-
class UnknownCommandError < WebDriverError; end # 9
|
60
|
+
class NoSuchFrameError < WebDriverError; end # 8
|
48
61
|
|
62
|
+
#
|
63
|
+
# A command could not be executed because the remote end is not aware of it.
|
64
|
+
#
|
65
|
+
|
66
|
+
class UnknownCommandError < WebDriverError; end # 9
|
49
67
|
|
50
68
|
#
|
51
|
-
#
|
52
|
-
# no longer appears in the DOM of the page.
|
69
|
+
# A command failed because the referenced element is no longer attached to the DOM.
|
53
70
|
#
|
54
71
|
|
55
|
-
class StaleElementReferenceError < WebDriverError; end
|
72
|
+
class StaleElementReferenceError < WebDriverError; end # 10
|
56
73
|
|
57
74
|
#
|
58
|
-
# Raised to indicate that although an element is present on the DOM,
|
59
|
-
#
|
75
|
+
# Raised to indicate that although an element is present on the DOM, it is not visible, and
|
76
|
+
# so is not able to be interacted with.
|
60
77
|
#
|
61
78
|
|
62
|
-
class ElementNotVisibleError < WebDriverError; end
|
79
|
+
class ElementNotVisibleError < WebDriverError; end # 11
|
63
80
|
|
64
81
|
#
|
65
|
-
#
|
66
|
-
#
|
82
|
+
# The target element is in an invalid state, rendering it impossible to interact with, for
|
83
|
+
# example if you click a disabled element.
|
67
84
|
#
|
68
85
|
|
69
|
-
class InvalidElementStateError < WebDriverError; end
|
86
|
+
class InvalidElementStateError < WebDriverError; end # 12
|
70
87
|
|
71
88
|
#
|
72
|
-
# An unknown
|
89
|
+
# An unknown error occurred in the remote end while processing the command.
|
73
90
|
#
|
74
91
|
|
75
|
-
class UnknownError < WebDriverError; end
|
76
|
-
class ExpectedError < WebDriverError; end
|
92
|
+
class UnknownError < WebDriverError; end # 13
|
93
|
+
class ExpectedError < WebDriverError; end # 14
|
77
94
|
|
78
95
|
#
|
79
96
|
# An attempt was made to select an element that cannot be selected.
|
80
97
|
#
|
81
98
|
|
82
|
-
class ElementNotSelectableError < WebDriverError; end
|
83
|
-
class NoSuchDocumentError < WebDriverError; end
|
99
|
+
class ElementNotSelectableError < WebDriverError; end # 15
|
100
|
+
class NoSuchDocumentError < WebDriverError; end # 16
|
84
101
|
|
85
102
|
#
|
86
|
-
# An error occurred while executing
|
103
|
+
# An error occurred while executing JavaScript supplied by the user.
|
87
104
|
#
|
88
105
|
|
89
|
-
class JavascriptError < WebDriverError; end
|
90
|
-
class NoScriptResultError < WebDriverError; end
|
106
|
+
class JavascriptError < WebDriverError; end # 17
|
107
|
+
class NoScriptResultError < WebDriverError; end # 18
|
91
108
|
|
92
109
|
#
|
93
110
|
# An error occurred while searching for an element by XPath.
|
94
111
|
#
|
95
112
|
|
96
|
-
class XPathLookupError < WebDriverError; end
|
97
|
-
class NoSuchCollectionError < WebDriverError; end
|
113
|
+
class XPathLookupError < WebDriverError; end # 19
|
114
|
+
class NoSuchCollectionError < WebDriverError; end # 20
|
98
115
|
|
99
116
|
#
|
100
|
-
#
|
117
|
+
# An operation did not complete before its timeout expired.
|
101
118
|
#
|
102
119
|
|
103
|
-
class TimeOutError < WebDriverError; end
|
104
|
-
|
105
|
-
class
|
120
|
+
class TimeOutError < WebDriverError; end # 21
|
121
|
+
|
122
|
+
class NullPointerError < WebDriverError; end # 22
|
123
|
+
class NoSuchWindowError < WebDriverError; end # 23
|
106
124
|
|
107
125
|
#
|
108
|
-
#
|
109
|
-
# the current URL.
|
126
|
+
# An illegal attempt was made to set a cookie under a different domain than the current page.
|
110
127
|
#
|
111
128
|
|
112
|
-
class InvalidCookieDomainError < WebDriverError; end
|
129
|
+
class InvalidCookieDomainError < WebDriverError; end # 24
|
113
130
|
|
114
131
|
#
|
115
|
-
#
|
132
|
+
# A command to set a cookie's value could not be satisfied.
|
116
133
|
#
|
117
134
|
|
118
|
-
class UnableToSetCookieError < WebDriverError; end
|
135
|
+
class UnableToSetCookieError < WebDriverError; end # 25
|
119
136
|
|
120
137
|
#
|
121
138
|
# Raised when an alert dialog is present that has not been dealt with.
|
122
139
|
#
|
123
|
-
class UnhandledAlertError < WebDriverError; end
|
140
|
+
class UnhandledAlertError < WebDriverError; end # 26
|
124
141
|
|
125
142
|
#
|
126
|
-
#
|
143
|
+
# An attempt was made to operate on a modal dialog when one was not open:
|
144
|
+
#
|
145
|
+
# * W3C dialect is NoSuchAlertError
|
146
|
+
# * OSS dialect is NoAlertPresentError
|
147
|
+
#
|
148
|
+
# We want to allow clients to rescue NoSuchAlertError as a superclass for
|
149
|
+
# dialect-agnostic implementation, so NoAlertPresentError should inherit from it.
|
127
150
|
#
|
128
151
|
|
129
|
-
class
|
152
|
+
class NoSuchAlertError < WebDriverError; end
|
153
|
+
class NoAlertPresentError < NoSuchAlertError; end # 27
|
130
154
|
|
131
155
|
#
|
132
156
|
# A script did not complete before its timeout expired.
|
133
157
|
#
|
134
158
|
|
135
|
-
class ScriptTimeOutError < WebDriverError; end
|
159
|
+
class ScriptTimeOutError < WebDriverError; end # 28
|
136
160
|
|
137
161
|
#
|
138
162
|
# The coordinates provided to an interactions operation are invalid.
|
@@ -141,12 +165,11 @@ module Selenium
|
|
141
165
|
class InvalidElementCoordinatesError < WebDriverError; end # 29
|
142
166
|
|
143
167
|
#
|
144
|
-
# Indicates that IME support is not available. This exception is rasied
|
145
|
-
#
|
146
|
-
# the machine.
|
168
|
+
# Indicates that IME support is not available. This exception is rasied for every IME-related
|
169
|
+
# method call if IME support is not available on the machine.
|
147
170
|
#
|
148
171
|
|
149
|
-
class IMENotAvailableError < WebDriverError; end
|
172
|
+
class IMENotAvailableError < WebDriverError; end # 30
|
150
173
|
|
151
174
|
#
|
152
175
|
# Indicates that activating an IME engine has failed.
|
@@ -155,73 +178,148 @@ module Selenium
|
|
155
178
|
class IMEEngineActivationFailedError < WebDriverError; end # 31
|
156
179
|
|
157
180
|
#
|
158
|
-
# Argument was an invalid selector
|
181
|
+
# Argument was an invalid selector.
|
159
182
|
#
|
160
183
|
|
161
|
-
class InvalidSelectorError < WebDriverError; end
|
184
|
+
class InvalidSelectorError < WebDriverError; end # 32
|
162
185
|
|
163
186
|
#
|
164
187
|
# A new session could not be created.
|
165
188
|
#
|
166
189
|
|
167
|
-
class SessionNotCreatedError < WebDriverError; end
|
190
|
+
class SessionNotCreatedError < WebDriverError; end # 33
|
191
|
+
|
192
|
+
#
|
193
|
+
# The target for mouse interaction is not in the browser's viewport and cannot be brought
|
194
|
+
# into that viewport.
|
195
|
+
#
|
196
|
+
|
197
|
+
class MoveTargetOutOfBoundsError < WebDriverError; end # 34
|
198
|
+
|
199
|
+
#
|
200
|
+
# Indicates that the XPath selector is invalid
|
201
|
+
#
|
202
|
+
|
203
|
+
class InvalidXpathSelectorError < WebDriverError; end
|
204
|
+
class InvalidXpathSelectorReturnTyperError < WebDriverError; end
|
205
|
+
|
206
|
+
#
|
207
|
+
# A command could not be completed because the element is not pointer or keyboard
|
208
|
+
# interactable.
|
209
|
+
#
|
210
|
+
|
211
|
+
class ElementNotInteractableError < WebDriverError; end
|
212
|
+
|
213
|
+
#
|
214
|
+
# The arguments passed to a command are either invalid or malformed.
|
215
|
+
#
|
216
|
+
|
217
|
+
class InvalidArgumentError < WebDriverError; end
|
218
|
+
|
219
|
+
#
|
220
|
+
# No cookie matching the given path name was found amongst the associated cookies of the
|
221
|
+
# current browsing context's active document.
|
222
|
+
#
|
223
|
+
|
224
|
+
class NoSuchCookieError < WebDriverError; end
|
225
|
+
|
226
|
+
#
|
227
|
+
# A screen capture was made impossible.
|
228
|
+
#
|
229
|
+
|
230
|
+
class UnableToCaptureScreenError < WebDriverError; end
|
231
|
+
|
232
|
+
#
|
233
|
+
# Occurs if the given session id is not in the list of active sessions, meaning the session
|
234
|
+
# either does not exist or that it's not active.
|
235
|
+
#
|
236
|
+
|
237
|
+
class InvalidSessionIdError < WebDriverError; end
|
238
|
+
|
239
|
+
#
|
240
|
+
# A modal dialog was open, blocking this operation.
|
241
|
+
#
|
242
|
+
|
243
|
+
class UnexpectedAlertOpenError < WebDriverError; end
|
168
244
|
|
169
245
|
#
|
170
|
-
#
|
171
|
-
# invalid, e.g. outside of the bounds of the window.
|
246
|
+
# The requested command matched a known URL but did not match an method for that URL.
|
172
247
|
#
|
173
248
|
|
174
|
-
class
|
249
|
+
class UnknownMethodError < WebDriverError; end
|
175
250
|
|
251
|
+
#
|
252
|
+
# The Element Click command could not be completed because the element receiving the events
|
253
|
+
# is obscuring the element that was requested clicked.
|
254
|
+
#
|
255
|
+
|
256
|
+
class ElementClickInterceptedError < WebDriverError; end
|
257
|
+
|
258
|
+
#
|
259
|
+
# Indicates that a command that should have executed properly cannot be supported for some
|
260
|
+
# reason.
|
261
|
+
#
|
262
|
+
|
263
|
+
class UnsupportedOperationError < WebDriverError; end
|
264
|
+
|
265
|
+
# Aliases for OSS dialect.
|
266
|
+
ScriptTimeoutError = ScriptTimeOutError
|
267
|
+
NoAlertOpenError = NoAlertPresentError
|
268
|
+
|
269
|
+
# Aliases for backwards compatibility.
|
270
|
+
ObsoleteElementError = StaleElementReferenceError
|
271
|
+
UnhandledError = UnknownError
|
272
|
+
UnexpectedJavascriptError = JavascriptError
|
273
|
+
ElementNotDisplayedError = ElementNotVisibleError
|
274
|
+
|
275
|
+
#
|
176
276
|
# @api private
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
end
|
224
|
-
end
|
277
|
+
#
|
278
|
+
|
279
|
+
ERRORS = {
|
280
|
+
1 => IndexOutOfBoundsError,
|
281
|
+
2 => NoCollectionError,
|
282
|
+
3 => NoStringError,
|
283
|
+
4 => NoStringLengthError,
|
284
|
+
5 => NoStringWrapperError,
|
285
|
+
6 => NoSuchDriverError,
|
286
|
+
7 => NoSuchElementError,
|
287
|
+
8 => NoSuchFrameError,
|
288
|
+
9 => UnknownCommandError,
|
289
|
+
10 => StaleElementReferenceError,
|
290
|
+
11 => ElementNotVisibleError,
|
291
|
+
12 => InvalidElementStateError,
|
292
|
+
13 => UnknownError,
|
293
|
+
14 => ExpectedError,
|
294
|
+
15 => ElementNotSelectableError,
|
295
|
+
16 => NoSuchDocumentError,
|
296
|
+
17 => JavascriptError,
|
297
|
+
18 => NoScriptResultError,
|
298
|
+
19 => XPathLookupError,
|
299
|
+
20 => NoSuchCollectionError,
|
300
|
+
21 => TimeOutError,
|
301
|
+
22 => NullPointerError,
|
302
|
+
23 => NoSuchWindowError,
|
303
|
+
24 => InvalidCookieDomainError,
|
304
|
+
25 => UnableToSetCookieError,
|
305
|
+
26 => UnhandledAlertError,
|
306
|
+
27 => NoAlertPresentError,
|
307
|
+
28 => ScriptTimeOutError,
|
308
|
+
29 => InvalidElementCoordinatesError,
|
309
|
+
30 => IMENotAvailableError,
|
310
|
+
31 => IMEEngineActivationFailedError,
|
311
|
+
32 => InvalidSelectorError,
|
312
|
+
33 => SessionNotCreatedError,
|
313
|
+
34 => MoveTargetOutOfBoundsError,
|
314
|
+
# The following are W3C-specific errors,
|
315
|
+
# they don't really need error codes, we just make them up!
|
316
|
+
51 => InvalidXpathSelectorError,
|
317
|
+
52 => InvalidXpathSelectorReturnTyperError,
|
318
|
+
60 => ElementNotInteractableError,
|
319
|
+
61 => InvalidArgumentError,
|
320
|
+
62 => NoSuchCookieError,
|
321
|
+
63 => UnableToCaptureScreenError
|
322
|
+
}.freeze
|
225
323
|
|
226
324
|
end # Error
|
227
325
|
end # WebDriver
|
@@ -1,5 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
#
|
3
1
|
# Licensed to the Software Freedom Conservancy (SFC) under one
|
4
2
|
# or more contributor license agreements. See the NOTICE file
|
5
3
|
# distributed with this work for additional information
|
@@ -19,21 +17,16 @@
|
|
19
17
|
|
20
18
|
module Selenium
|
21
19
|
module WebDriver
|
22
|
-
|
23
20
|
#
|
24
21
|
# @api private
|
25
22
|
#
|
26
23
|
|
27
24
|
module FileReaper
|
28
|
-
|
29
25
|
class << self
|
30
|
-
|
31
|
-
@reap = bool
|
32
|
-
end
|
26
|
+
attr_writer :reap
|
33
27
|
|
34
28
|
def reap?
|
35
|
-
@reap =
|
36
|
-
!!@reap
|
29
|
+
@reap = defined?(@reap) ? @reap : true
|
37
30
|
end
|
38
31
|
|
39
32
|
def tmp_files
|
@@ -67,7 +60,6 @@ module Selenium
|
|
67
60
|
|
68
61
|
# we *do* want child process reaping, so not using Platform.exit_hook here.
|
69
62
|
at_exit { reap! }
|
70
|
-
|
71
63
|
end # FileReaper
|
72
64
|
end # WebDriver
|
73
|
-
end # Selenium
|
65
|
+
end # Selenium
|