selenium-webdriver 4.1.0 → 4.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES +182 -1
- data/LICENSE +1 -1
- data/NOTICE +1 -1
- data/bin/linux/selenium-manager +0 -0
- data/bin/macos/selenium-manager +0 -0
- data/bin/windows/selenium-manager.exe +0 -0
- data/lib/selenium/server.rb +35 -26
- data/lib/selenium/webdriver/atoms/findElements.js +0 -0
- data/lib/selenium/webdriver/atoms/getAttribute.js +0 -0
- data/lib/selenium/webdriver/atoms/isDisplayed.js +0 -0
- data/lib/selenium/webdriver/atoms/mutationListener.js +0 -0
- data/lib/selenium/webdriver/atoms.rb +2 -3
- data/lib/selenium/webdriver/bidi/browsing_context.rb +88 -0
- data/lib/selenium/webdriver/bidi/browsing_context_info.rb +35 -0
- data/lib/selenium/webdriver/bidi/log/base_log_entry.rb +35 -0
- data/lib/selenium/webdriver/bidi/log/console_log_entry.rb +35 -0
- data/lib/selenium/webdriver/bidi/log/filter_by.rb +40 -0
- data/lib/selenium/webdriver/bidi/log/generic_log_entry.rb +33 -0
- data/lib/selenium/webdriver/bidi/log/javascript_log_entry.rb +33 -0
- data/lib/selenium/webdriver/bidi/log_inspector.rb +143 -0
- data/lib/selenium/webdriver/bidi/navigate_result.rb +33 -0
- data/lib/selenium/webdriver/bidi/session.rb +51 -0
- data/lib/selenium/webdriver/bidi.rb +56 -0
- data/lib/selenium/webdriver/chrome/driver.rb +19 -28
- data/lib/selenium/webdriver/chrome/features.rb +6 -68
- data/lib/selenium/webdriver/chrome/options.rb +3 -223
- data/lib/selenium/webdriver/chrome/profile.rb +3 -83
- data/lib/selenium/webdriver/chrome/service.rb +4 -19
- data/lib/selenium/webdriver/chrome.rb +0 -14
- data/lib/selenium/webdriver/chromium/driver.rb +61 -0
- data/lib/selenium/webdriver/chromium/features.rb +103 -0
- data/lib/selenium/webdriver/chromium/options.rb +261 -0
- data/lib/selenium/webdriver/chromium/profile.rb +113 -0
- data/lib/selenium/webdriver/chromium/service.rb +42 -0
- data/lib/selenium/webdriver/chromium.rb +32 -0
- data/lib/selenium/webdriver/common/action_builder.rb +72 -22
- data/lib/selenium/webdriver/common/child_process.rb +124 -0
- data/lib/selenium/webdriver/common/driver.rb +50 -70
- data/lib/selenium/webdriver/common/driver_extensions/downloads_files.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb +0 -1
- data/lib/selenium/webdriver/common/driver_extensions/has_addons.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_authentication.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/{has_remote_status.rb → has_bidi.rb} +10 -5
- data/lib/selenium/webdriver/common/driver_extensions/has_casting.rb +10 -1
- data/lib/selenium/webdriver/common/driver_extensions/has_cdp.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_context.rb +1 -4
- data/lib/selenium/webdriver/common/driver_extensions/has_debugger.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_launching.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +1 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +1 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +2 -69
- data/lib/selenium/webdriver/common/driver_extensions/has_permissions.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb +1 -3
- data/lib/selenium/webdriver/common/element.rb +8 -8
- data/lib/selenium/webdriver/common/error.rb +1 -3
- data/lib/selenium/webdriver/common/html5/shared_web_storage.rb +2 -2
- data/lib/selenium/webdriver/common/interactions/input_device.rb +10 -4
- data/lib/selenium/webdriver/common/interactions/interaction.rb +12 -25
- data/lib/selenium/webdriver/common/interactions/interactions.rb +24 -4
- data/lib/selenium/webdriver/common/interactions/key_actions.rb +5 -1
- data/lib/selenium/webdriver/common/interactions/key_input.rb +11 -27
- data/lib/selenium/webdriver/common/interactions/none_input.rb +10 -8
- data/lib/selenium/webdriver/common/interactions/pause.rb +49 -0
- data/lib/selenium/webdriver/common/interactions/pointer_actions.rb +59 -70
- data/lib/selenium/webdriver/common/interactions/pointer_cancel.rb +45 -0
- data/lib/selenium/webdriver/common/interactions/pointer_event_properties.rb +63 -0
- data/lib/selenium/webdriver/common/interactions/pointer_input.rb +15 -84
- data/lib/selenium/webdriver/common/interactions/pointer_move.rb +60 -0
- data/lib/selenium/webdriver/common/interactions/pointer_press.rb +85 -0
- data/lib/selenium/webdriver/common/interactions/scroll.rb +59 -0
- data/lib/selenium/webdriver/common/interactions/scroll_origin.rb +48 -0
- data/lib/selenium/webdriver/common/interactions/typing_interaction.rb +54 -0
- data/lib/selenium/webdriver/common/interactions/wheel_actions.rb +113 -0
- data/lib/selenium/webdriver/common/interactions/wheel_input.rb +42 -0
- data/lib/selenium/webdriver/common/keys.rb +1 -0
- data/lib/selenium/webdriver/common/logger.rb +10 -2
- data/lib/selenium/webdriver/common/manager.rb +0 -27
- data/lib/selenium/webdriver/common/options.rb +32 -17
- data/lib/selenium/webdriver/common/platform.rb +8 -5
- data/lib/selenium/webdriver/common/profile_helper.rb +1 -1
- data/lib/selenium/webdriver/common/proxy.rb +1 -1
- data/lib/selenium/webdriver/common/search_context.rb +0 -6
- data/lib/selenium/webdriver/common/selenium_manager.rb +89 -0
- data/lib/selenium/webdriver/common/service.rb +16 -8
- data/lib/selenium/webdriver/common/service_manager.rb +4 -13
- data/lib/selenium/webdriver/common/shadow_root.rb +2 -3
- data/lib/selenium/webdriver/common/socket_lock.rb +2 -2
- data/lib/selenium/webdriver/common/socket_poller.rb +1 -1
- data/lib/selenium/webdriver/common/takes_screenshot.rb +2 -3
- data/lib/selenium/webdriver/common/target_locator.rb +2 -3
- data/lib/selenium/webdriver/common/timeouts.rb +2 -2
- data/lib/selenium/webdriver/common/virtual_authenticator/credential.rb +85 -0
- data/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb +72 -0
- data/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator_options.rb +62 -0
- data/lib/selenium/webdriver/common/websocket_connection.rb +164 -0
- data/lib/selenium/webdriver/common/window.rb +6 -6
- data/lib/selenium/webdriver/common/zipper.rb +1 -1
- data/lib/selenium/webdriver/common.rb +19 -3
- data/lib/selenium/webdriver/devtools/console_event.rb +0 -2
- data/lib/selenium/webdriver/devtools/exception_event.rb +0 -2
- data/lib/selenium/webdriver/devtools/mutation_event.rb +0 -2
- data/lib/selenium/webdriver/devtools/network_interceptor.rb +173 -0
- data/lib/selenium/webdriver/devtools/pinned_script.rb +0 -2
- data/lib/selenium/webdriver/devtools/request.rb +1 -3
- data/lib/selenium/webdriver/devtools/response.rb +1 -3
- data/lib/selenium/webdriver/devtools.rb +6 -113
- data/lib/selenium/webdriver/edge/driver.rb +20 -3
- data/lib/selenium/webdriver/edge/features.rb +4 -4
- data/lib/selenium/webdriver/edge/options.rb +3 -5
- data/lib/selenium/webdriver/edge/profile.rb +2 -2
- data/lib/selenium/webdriver/edge/service.rb +2 -2
- data/lib/selenium/webdriver/firefox/driver.rb +20 -2
- data/lib/selenium/webdriver/firefox/features.rb +6 -6
- data/lib/selenium/webdriver/firefox/options.rb +9 -3
- data/lib/selenium/webdriver/firefox/profile.rb +7 -11
- data/lib/selenium/webdriver/firefox/service.rb +0 -1
- data/lib/selenium/webdriver/firefox/util.rb +46 -0
- data/lib/selenium/webdriver/firefox.rb +1 -14
- data/lib/selenium/webdriver/ie/driver.rb +20 -1
- data/lib/selenium/webdriver/ie/service.rb +1 -2
- data/lib/selenium/webdriver/ie.rb +0 -14
- data/lib/selenium/webdriver/remote/{commands.rb → bridge/commands.rb} +15 -8
- data/lib/selenium/webdriver/remote/bridge.rb +59 -30
- data/lib/selenium/webdriver/remote/capabilities.rb +34 -12
- data/lib/selenium/webdriver/remote/driver.rb +14 -15
- data/lib/selenium/webdriver/remote/http/curb.rb +0 -2
- data/lib/selenium/webdriver/remote/http/default.rb +7 -12
- data/lib/selenium/webdriver/remote/response.rb +2 -3
- data/lib/selenium/webdriver/remote.rb +0 -1
- data/lib/selenium/webdriver/safari/driver.rb +20 -1
- data/lib/selenium/webdriver/safari/features.rb +0 -2
- data/lib/selenium/webdriver/safari/options.rb +5 -1
- data/lib/selenium/webdriver/safari.rb +1 -15
- data/lib/selenium/webdriver/support/color.rb +20 -20
- data/lib/selenium/webdriver/support/guards/guard.rb +0 -2
- data/lib/selenium/webdriver/support/guards/guard_condition.rb +1 -3
- data/lib/selenium/webdriver/support/guards.rb +1 -1
- data/lib/selenium/webdriver/support/relative_locator.rb +0 -1
- data/lib/selenium/webdriver/support/select.rb +3 -1
- data/lib/selenium/webdriver/version.rb +1 -1
- data/lib/selenium/webdriver.rb +4 -4
- data/selenium-webdriver.gemspec +13 -11
- metadata +68 -59
- data/lib/selenium/webdriver/remote/http/persistent.rb +0 -65
- data/lib/selenium/webdriver/support/cdp/domain.rb.erb +0 -63
- data/lib/selenium/webdriver/support/cdp_client_generator.rb +0 -108
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: selenium-webdriver
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.1
|
|
4
|
+
version: 4.8.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alex Rodionov
|
|
@@ -10,28 +10,8 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2023-02-17 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
|
-
- !ruby/object:Gem::Dependency
|
|
16
|
-
name: childprocess
|
|
17
|
-
requirement: !ruby/object:Gem::Requirement
|
|
18
|
-
requirements:
|
|
19
|
-
- - ">="
|
|
20
|
-
- !ruby/object:Gem::Version
|
|
21
|
-
version: '0.5'
|
|
22
|
-
- - "<"
|
|
23
|
-
- !ruby/object:Gem::Version
|
|
24
|
-
version: '5.0'
|
|
25
|
-
type: :runtime
|
|
26
|
-
prerelease: false
|
|
27
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
28
|
-
requirements:
|
|
29
|
-
- - ">="
|
|
30
|
-
- !ruby/object:Gem::Version
|
|
31
|
-
version: '0.5'
|
|
32
|
-
- - "<"
|
|
33
|
-
- !ruby/object:Gem::Version
|
|
34
|
-
version: '5.0'
|
|
35
15
|
- !ruby/object:Gem::Dependency
|
|
36
16
|
name: rexml
|
|
37
17
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -59,6 +39,9 @@ dependencies:
|
|
|
59
39
|
- - ">="
|
|
60
40
|
- !ruby/object:Gem::Version
|
|
61
41
|
version: 1.2.2
|
|
42
|
+
- - "<"
|
|
43
|
+
- !ruby/object:Gem::Version
|
|
44
|
+
version: '3.0'
|
|
62
45
|
type: :runtime
|
|
63
46
|
prerelease: false
|
|
64
47
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -66,20 +49,23 @@ dependencies:
|
|
|
66
49
|
- - ">="
|
|
67
50
|
- !ruby/object:Gem::Version
|
|
68
51
|
version: 1.2.2
|
|
52
|
+
- - "<"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '3.0'
|
|
69
55
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
56
|
+
name: websocket
|
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
|
72
58
|
requirements:
|
|
73
|
-
- - "
|
|
59
|
+
- - "~>"
|
|
74
60
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0'
|
|
76
|
-
type: :
|
|
61
|
+
version: '1.0'
|
|
62
|
+
type: :runtime
|
|
77
63
|
prerelease: false
|
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
65
|
requirements:
|
|
80
|
-
- - "
|
|
66
|
+
- - "~>"
|
|
81
67
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0'
|
|
68
|
+
version: '1.0'
|
|
83
69
|
- !ruby/object:Gem::Dependency
|
|
84
70
|
name: pry
|
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -108,20 +94,6 @@ dependencies:
|
|
|
108
94
|
- - "~>"
|
|
109
95
|
- !ruby/object:Gem::Version
|
|
110
96
|
version: '2.0'
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: rake
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - ">="
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: '0'
|
|
118
|
-
type: :development
|
|
119
|
-
prerelease: false
|
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
requirements:
|
|
122
|
-
- - ">="
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: '0'
|
|
125
97
|
- !ruby/object:Gem::Dependency
|
|
126
98
|
name: rspec
|
|
127
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -142,42 +114,42 @@ dependencies:
|
|
|
142
114
|
requirements:
|
|
143
115
|
- - "~>"
|
|
144
116
|
- !ruby/object:Gem::Version
|
|
145
|
-
version: 1.
|
|
117
|
+
version: '1.42'
|
|
146
118
|
type: :development
|
|
147
119
|
prerelease: false
|
|
148
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
121
|
requirements:
|
|
150
122
|
- - "~>"
|
|
151
123
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: 1.
|
|
124
|
+
version: '1.42'
|
|
153
125
|
- !ruby/object:Gem::Dependency
|
|
154
126
|
name: rubocop-performance
|
|
155
127
|
requirement: !ruby/object:Gem::Requirement
|
|
156
128
|
requirements:
|
|
157
|
-
- - "
|
|
129
|
+
- - "~>"
|
|
158
130
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: '
|
|
131
|
+
version: '1.15'
|
|
160
132
|
type: :development
|
|
161
133
|
prerelease: false
|
|
162
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
135
|
requirements:
|
|
164
|
-
- - "
|
|
136
|
+
- - "~>"
|
|
165
137
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '
|
|
138
|
+
version: '1.15'
|
|
167
139
|
- !ruby/object:Gem::Dependency
|
|
168
140
|
name: rubocop-rspec
|
|
169
141
|
requirement: !ruby/object:Gem::Requirement
|
|
170
142
|
requirements:
|
|
171
|
-
- - "
|
|
143
|
+
- - "~>"
|
|
172
144
|
- !ruby/object:Gem::Version
|
|
173
|
-
version: '
|
|
145
|
+
version: '2.16'
|
|
174
146
|
type: :development
|
|
175
147
|
prerelease: false
|
|
176
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
177
149
|
requirements:
|
|
178
|
-
- - "
|
|
150
|
+
- - "~>"
|
|
179
151
|
- !ruby/object:Gem::Version
|
|
180
|
-
version: '
|
|
152
|
+
version: '2.16'
|
|
181
153
|
- !ruby/object:Gem::Dependency
|
|
182
154
|
name: webmock
|
|
183
155
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -237,6 +209,9 @@ files:
|
|
|
237
209
|
- LICENSE
|
|
238
210
|
- NOTICE
|
|
239
211
|
- README.md
|
|
212
|
+
- bin/linux/selenium-manager
|
|
213
|
+
- bin/macos/selenium-manager
|
|
214
|
+
- bin/windows/selenium-manager.exe
|
|
240
215
|
- lib/selenium-webdriver.rb
|
|
241
216
|
- lib/selenium/server.rb
|
|
242
217
|
- lib/selenium/webdriver.rb
|
|
@@ -245,21 +220,40 @@ files:
|
|
|
245
220
|
- lib/selenium/webdriver/atoms/getAttribute.js
|
|
246
221
|
- lib/selenium/webdriver/atoms/isDisplayed.js
|
|
247
222
|
- lib/selenium/webdriver/atoms/mutationListener.js
|
|
223
|
+
- lib/selenium/webdriver/bidi.rb
|
|
224
|
+
- lib/selenium/webdriver/bidi/browsing_context.rb
|
|
225
|
+
- lib/selenium/webdriver/bidi/browsing_context_info.rb
|
|
226
|
+
- lib/selenium/webdriver/bidi/log/base_log_entry.rb
|
|
227
|
+
- lib/selenium/webdriver/bidi/log/console_log_entry.rb
|
|
228
|
+
- lib/selenium/webdriver/bidi/log/filter_by.rb
|
|
229
|
+
- lib/selenium/webdriver/bidi/log/generic_log_entry.rb
|
|
230
|
+
- lib/selenium/webdriver/bidi/log/javascript_log_entry.rb
|
|
231
|
+
- lib/selenium/webdriver/bidi/log_inspector.rb
|
|
232
|
+
- lib/selenium/webdriver/bidi/navigate_result.rb
|
|
233
|
+
- lib/selenium/webdriver/bidi/session.rb
|
|
248
234
|
- lib/selenium/webdriver/chrome.rb
|
|
249
235
|
- lib/selenium/webdriver/chrome/driver.rb
|
|
250
236
|
- lib/selenium/webdriver/chrome/features.rb
|
|
251
237
|
- lib/selenium/webdriver/chrome/options.rb
|
|
252
238
|
- lib/selenium/webdriver/chrome/profile.rb
|
|
253
239
|
- lib/selenium/webdriver/chrome/service.rb
|
|
240
|
+
- lib/selenium/webdriver/chromium.rb
|
|
241
|
+
- lib/selenium/webdriver/chromium/driver.rb
|
|
242
|
+
- lib/selenium/webdriver/chromium/features.rb
|
|
243
|
+
- lib/selenium/webdriver/chromium/options.rb
|
|
244
|
+
- lib/selenium/webdriver/chromium/profile.rb
|
|
245
|
+
- lib/selenium/webdriver/chromium/service.rb
|
|
254
246
|
- lib/selenium/webdriver/common.rb
|
|
255
247
|
- lib/selenium/webdriver/common/action_builder.rb
|
|
256
248
|
- lib/selenium/webdriver/common/alert.rb
|
|
249
|
+
- lib/selenium/webdriver/common/child_process.rb
|
|
257
250
|
- lib/selenium/webdriver/common/driver.rb
|
|
258
251
|
- lib/selenium/webdriver/common/driver_extensions/downloads_files.rb
|
|
259
252
|
- lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb
|
|
260
253
|
- lib/selenium/webdriver/common/driver_extensions/has_addons.rb
|
|
261
254
|
- lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb
|
|
262
255
|
- lib/selenium/webdriver/common/driver_extensions/has_authentication.rb
|
|
256
|
+
- lib/selenium/webdriver/common/driver_extensions/has_bidi.rb
|
|
263
257
|
- lib/selenium/webdriver/common/driver_extensions/has_casting.rb
|
|
264
258
|
- lib/selenium/webdriver/common/driver_extensions/has_cdp.rb
|
|
265
259
|
- lib/selenium/webdriver/common/driver_extensions/has_context.rb
|
|
@@ -274,7 +268,6 @@ files:
|
|
|
274
268
|
- lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb
|
|
275
269
|
- lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
|
|
276
270
|
- lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb
|
|
277
|
-
- lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
|
|
278
271
|
- lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
|
|
279
272
|
- lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb
|
|
280
273
|
- lib/selenium/webdriver/common/driver_extensions/prints_page.rb
|
|
@@ -291,8 +284,18 @@ files:
|
|
|
291
284
|
- lib/selenium/webdriver/common/interactions/key_actions.rb
|
|
292
285
|
- lib/selenium/webdriver/common/interactions/key_input.rb
|
|
293
286
|
- lib/selenium/webdriver/common/interactions/none_input.rb
|
|
287
|
+
- lib/selenium/webdriver/common/interactions/pause.rb
|
|
294
288
|
- lib/selenium/webdriver/common/interactions/pointer_actions.rb
|
|
289
|
+
- lib/selenium/webdriver/common/interactions/pointer_cancel.rb
|
|
290
|
+
- lib/selenium/webdriver/common/interactions/pointer_event_properties.rb
|
|
295
291
|
- lib/selenium/webdriver/common/interactions/pointer_input.rb
|
|
292
|
+
- lib/selenium/webdriver/common/interactions/pointer_move.rb
|
|
293
|
+
- lib/selenium/webdriver/common/interactions/pointer_press.rb
|
|
294
|
+
- lib/selenium/webdriver/common/interactions/scroll.rb
|
|
295
|
+
- lib/selenium/webdriver/common/interactions/scroll_origin.rb
|
|
296
|
+
- lib/selenium/webdriver/common/interactions/typing_interaction.rb
|
|
297
|
+
- lib/selenium/webdriver/common/interactions/wheel_actions.rb
|
|
298
|
+
- lib/selenium/webdriver/common/interactions/wheel_input.rb
|
|
296
299
|
- lib/selenium/webdriver/common/keys.rb
|
|
297
300
|
- lib/selenium/webdriver/common/log_entry.rb
|
|
298
301
|
- lib/selenium/webdriver/common/logger.rb
|
|
@@ -305,6 +308,7 @@ files:
|
|
|
305
308
|
- lib/selenium/webdriver/common/profile_helper.rb
|
|
306
309
|
- lib/selenium/webdriver/common/proxy.rb
|
|
307
310
|
- lib/selenium/webdriver/common/search_context.rb
|
|
311
|
+
- lib/selenium/webdriver/common/selenium_manager.rb
|
|
308
312
|
- lib/selenium/webdriver/common/service.rb
|
|
309
313
|
- lib/selenium/webdriver/common/service_manager.rb
|
|
310
314
|
- lib/selenium/webdriver/common/shadow_root.rb
|
|
@@ -313,13 +317,18 @@ files:
|
|
|
313
317
|
- lib/selenium/webdriver/common/takes_screenshot.rb
|
|
314
318
|
- lib/selenium/webdriver/common/target_locator.rb
|
|
315
319
|
- lib/selenium/webdriver/common/timeouts.rb
|
|
320
|
+
- lib/selenium/webdriver/common/virtual_authenticator/credential.rb
|
|
321
|
+
- lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb
|
|
322
|
+
- lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator_options.rb
|
|
316
323
|
- lib/selenium/webdriver/common/wait.rb
|
|
324
|
+
- lib/selenium/webdriver/common/websocket_connection.rb
|
|
317
325
|
- lib/selenium/webdriver/common/window.rb
|
|
318
326
|
- lib/selenium/webdriver/common/zipper.rb
|
|
319
327
|
- lib/selenium/webdriver/devtools.rb
|
|
320
328
|
- lib/selenium/webdriver/devtools/console_event.rb
|
|
321
329
|
- lib/selenium/webdriver/devtools/exception_event.rb
|
|
322
330
|
- lib/selenium/webdriver/devtools/mutation_event.rb
|
|
331
|
+
- lib/selenium/webdriver/devtools/network_interceptor.rb
|
|
323
332
|
- lib/selenium/webdriver/devtools/pinned_script.rb
|
|
324
333
|
- lib/selenium/webdriver/devtools/request.rb
|
|
325
334
|
- lib/selenium/webdriver/devtools/response.rb
|
|
@@ -337,19 +346,19 @@ files:
|
|
|
337
346
|
- lib/selenium/webdriver/firefox/profile.rb
|
|
338
347
|
- lib/selenium/webdriver/firefox/profiles_ini.rb
|
|
339
348
|
- lib/selenium/webdriver/firefox/service.rb
|
|
349
|
+
- lib/selenium/webdriver/firefox/util.rb
|
|
340
350
|
- lib/selenium/webdriver/ie.rb
|
|
341
351
|
- lib/selenium/webdriver/ie/driver.rb
|
|
342
352
|
- lib/selenium/webdriver/ie/options.rb
|
|
343
353
|
- lib/selenium/webdriver/ie/service.rb
|
|
344
354
|
- lib/selenium/webdriver/remote.rb
|
|
345
355
|
- lib/selenium/webdriver/remote/bridge.rb
|
|
356
|
+
- lib/selenium/webdriver/remote/bridge/commands.rb
|
|
346
357
|
- lib/selenium/webdriver/remote/capabilities.rb
|
|
347
|
-
- lib/selenium/webdriver/remote/commands.rb
|
|
348
358
|
- lib/selenium/webdriver/remote/driver.rb
|
|
349
359
|
- lib/selenium/webdriver/remote/http/common.rb
|
|
350
360
|
- lib/selenium/webdriver/remote/http/curb.rb
|
|
351
361
|
- lib/selenium/webdriver/remote/http/default.rb
|
|
352
|
-
- lib/selenium/webdriver/remote/http/persistent.rb
|
|
353
362
|
- lib/selenium/webdriver/remote/response.rb
|
|
354
363
|
- lib/selenium/webdriver/remote/server_error.rb
|
|
355
364
|
- lib/selenium/webdriver/safari.rb
|
|
@@ -360,8 +369,6 @@ files:
|
|
|
360
369
|
- lib/selenium/webdriver/support.rb
|
|
361
370
|
- lib/selenium/webdriver/support/abstract_event_listener.rb
|
|
362
371
|
- lib/selenium/webdriver/support/block_event_listener.rb
|
|
363
|
-
- lib/selenium/webdriver/support/cdp/domain.rb.erb
|
|
364
|
-
- lib/selenium/webdriver/support/cdp_client_generator.rb
|
|
365
372
|
- lib/selenium/webdriver/support/color.rb
|
|
366
373
|
- lib/selenium/webdriver/support/escaper.rb
|
|
367
374
|
- lib/selenium/webdriver/support/event_firing_bridge.rb
|
|
@@ -377,7 +384,9 @@ licenses:
|
|
|
377
384
|
- Apache-2.0
|
|
378
385
|
metadata:
|
|
379
386
|
changelog_uri: https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES
|
|
387
|
+
github_repo: ssh://github.com/SeleniumHQ/selenium
|
|
380
388
|
source_code_uri: https://github.com/SeleniumHQ/selenium/tree/trunk/rb
|
|
389
|
+
rubygems_mfa_required: 'true'
|
|
381
390
|
post_install_message:
|
|
382
391
|
rdoc_options: []
|
|
383
392
|
require_paths:
|
|
@@ -386,14 +395,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
386
395
|
requirements:
|
|
387
396
|
- - ">="
|
|
388
397
|
- !ruby/object:Gem::Version
|
|
389
|
-
version: '2.
|
|
398
|
+
version: '2.7'
|
|
390
399
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
391
400
|
requirements:
|
|
392
401
|
- - ">"
|
|
393
402
|
- !ruby/object:Gem::Version
|
|
394
403
|
version: 1.3.1
|
|
395
404
|
requirements: []
|
|
396
|
-
rubygems_version: 3.
|
|
405
|
+
rubygems_version: 3.1.6
|
|
397
406
|
signing_key:
|
|
398
407
|
specification_version: 4
|
|
399
408
|
summary: Selenium is a browser automation tool for automated testing of webapps and
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Licensed to the Software Freedom Conservancy (SFC) under one
|
|
4
|
-
# or more contributor license agreements. See the NOTICE file
|
|
5
|
-
# distributed with this work for additional information
|
|
6
|
-
# regarding copyright ownership. The SFC licenses this file
|
|
7
|
-
# to you under the Apache License, Version 2.0 (the
|
|
8
|
-
# "License"); you may not use this file except in compliance
|
|
9
|
-
# with the License. You may obtain a copy of the License at
|
|
10
|
-
#
|
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
#
|
|
13
|
-
# Unless required by applicable law or agreed to in writing,
|
|
14
|
-
# software distributed under the License is distributed on an
|
|
15
|
-
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
16
|
-
# KIND, either express or implied. See the License for the
|
|
17
|
-
# specific language governing permissions and limitations
|
|
18
|
-
# under the License.
|
|
19
|
-
|
|
20
|
-
require 'net/http/persistent'
|
|
21
|
-
|
|
22
|
-
module Selenium
|
|
23
|
-
module WebDriver
|
|
24
|
-
module Remote
|
|
25
|
-
module Http
|
|
26
|
-
# @api private
|
|
27
|
-
class Persistent < Default
|
|
28
|
-
def initialize(open_timeout: nil, read_timeout: nil)
|
|
29
|
-
WebDriver.logger.deprecate("Selenium::WebDriver::Remote::Http::Persistent",
|
|
30
|
-
id: :http_persistent) { "The default HTTP client now uses persistence." }
|
|
31
|
-
super
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def close
|
|
35
|
-
@http&.shutdown
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
private
|
|
39
|
-
|
|
40
|
-
def start(*)
|
|
41
|
-
# no need to explicitly start connection
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def new_http_client
|
|
45
|
-
proxy = nil
|
|
46
|
-
|
|
47
|
-
if @proxy
|
|
48
|
-
unless @proxy.respond_to?(:http)
|
|
49
|
-
url = @proxy.http
|
|
50
|
-
raise Error::WebDriverError, "expected HTTP proxy, got #{@proxy.inspect}" unless url
|
|
51
|
-
end
|
|
52
|
-
proxy = URI.parse(url)
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
Net::HTTP::Persistent.new name: 'webdriver', proxy: proxy
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def response_for(request)
|
|
59
|
-
http.request server_url, request
|
|
60
|
-
end
|
|
61
|
-
end # Persistent
|
|
62
|
-
end # Http
|
|
63
|
-
end # Remote
|
|
64
|
-
end # WebDriver
|
|
65
|
-
end # Selenium
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Licensed to the Software Freedom Conservancy (SFC) under one
|
|
4
|
-
# or more contributor license agreements. See the NOTICE file
|
|
5
|
-
# distributed with this work for additional information
|
|
6
|
-
# regarding copyright ownership. The SFC licenses this file
|
|
7
|
-
# to you under the Apache License, Version 2.0 (the
|
|
8
|
-
# "License"); you may not use this file except in compliance
|
|
9
|
-
# with the License. You may obtain a copy of the License at
|
|
10
|
-
#
|
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
#
|
|
13
|
-
# Unless required by applicable law or agreed to in writing,
|
|
14
|
-
# software distributed under the License is distributed on an
|
|
15
|
-
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
16
|
-
# KIND, either express or implied. See the License for the
|
|
17
|
-
# specific language governing permissions and limitations
|
|
18
|
-
# under the License.
|
|
19
|
-
|
|
20
|
-
# This file is automatically generated. Any changes will be lost!
|
|
21
|
-
module Selenium
|
|
22
|
-
module DevTools
|
|
23
|
-
module <%= version %>
|
|
24
|
-
class <%= domain[:domain] %>
|
|
25
|
-
<% if domain[:events] %>
|
|
26
|
-
EVENTS = {
|
|
27
|
-
<% domain[:events].each do |event| %>
|
|
28
|
-
<%= h.snake_case(event[:name]) %>: '<%= event[:name] %>',
|
|
29
|
-
<% end %>
|
|
30
|
-
}.freeze
|
|
31
|
-
<% end %>
|
|
32
|
-
|
|
33
|
-
def initialize(devtools)
|
|
34
|
-
@devtools = devtools
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def on(event, &block)
|
|
38
|
-
event = EVENTS[event] if event.is_a?(Symbol)
|
|
39
|
-
@devtools.callbacks["<%= domain[:domain] %>.#{event}"] << block
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
<% domain[:commands].each do |command| %>
|
|
43
|
-
<% if command[:parameters] %>
|
|
44
|
-
def <%= h.snake_case(command[:name]) %>(<%= h.kwargs(command[:parameters]) %>)
|
|
45
|
-
<% else %>
|
|
46
|
-
def <%= h.snake_case(command[:name]) %>
|
|
47
|
-
<% end %>
|
|
48
|
-
<% if command[:parameters] %>
|
|
49
|
-
@devtools.send_cmd('<%= domain[:domain] %>.<%= command[:name] %>',
|
|
50
|
-
<% until command[:parameters].empty? %>
|
|
51
|
-
<% parameter = command[:parameters].shift %>
|
|
52
|
-
<%= parameter[:name] %>: <%= h.snake_case(parameter[:name]) %><%= command[:parameters].empty? ? ')' : ',' %>
|
|
53
|
-
<% end %>
|
|
54
|
-
<% else %>
|
|
55
|
-
@devtools.send_cmd('<%= domain[:domain] %>.<%= command[:name] %>')
|
|
56
|
-
<% end %>
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
<% end %>
|
|
60
|
-
end # <%= domain[:domain] %>
|
|
61
|
-
end # <%= version %>
|
|
62
|
-
end # DevTools
|
|
63
|
-
end # Selenium
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# Licensed to the Software Freedom Conservancy (SFC) under one
|
|
4
|
-
# or more contributor license agreements. See the NOTICE file
|
|
5
|
-
# distributed with this work for additional information
|
|
6
|
-
# regarding copyright ownership. The SFC licenses this file
|
|
7
|
-
# to you under the Apache License, Version 2.0 (the
|
|
8
|
-
# "License"); you may not use this file except in compliance
|
|
9
|
-
# with the License. You may obtain a copy of the License at
|
|
10
|
-
#
|
|
11
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
#
|
|
13
|
-
# Unless required by applicable law or agreed to in writing,
|
|
14
|
-
# software distributed under the License is distributed on an
|
|
15
|
-
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
16
|
-
# KIND, either express or implied. See the License for the
|
|
17
|
-
# specific language governing permissions and limitations
|
|
18
|
-
# under the License.
|
|
19
|
-
|
|
20
|
-
require 'erb'
|
|
21
|
-
require 'fileutils'
|
|
22
|
-
require 'json'
|
|
23
|
-
|
|
24
|
-
module Selenium
|
|
25
|
-
module WebDriver
|
|
26
|
-
module Support
|
|
27
|
-
class CDPClientGenerator
|
|
28
|
-
# Input JSON files are generated from PDL tasks.
|
|
29
|
-
TEMPLATE_PATH = File.expand_path('cdp/domain.rb.erb', __dir__)
|
|
30
|
-
|
|
31
|
-
RESERVED_KEYWORDS = %w[end].freeze
|
|
32
|
-
|
|
33
|
-
def call(output_dir:, version:, browser_protocol_path: nil, js_protocol_path: nil, loader_path: nil, **)
|
|
34
|
-
@template = ERB.new(File.read(TEMPLATE_PATH))
|
|
35
|
-
@output_dir = output_dir
|
|
36
|
-
@loader_path = loader_path || "#{@output_dir}.rb"
|
|
37
|
-
@version = version
|
|
38
|
-
|
|
39
|
-
browser_protocol_path ||= File.expand_path('cdp/browser_protocol.json', __dir__)
|
|
40
|
-
js_protocol_path ||= File.expand_path('cdp/js_protocol.json', __dir__)
|
|
41
|
-
|
|
42
|
-
browser_protocol = JSON.parse(File.read(browser_protocol_path), symbolize_names: true)
|
|
43
|
-
js_protocol = JSON.parse(File.read(js_protocol_path), symbolize_names: true)
|
|
44
|
-
|
|
45
|
-
FileUtils.mkdir_p(@output_dir)
|
|
46
|
-
|
|
47
|
-
browser_protocol[:domains].each(&method(:process_domain))
|
|
48
|
-
js_protocol[:domains].each(&method(:process_domain))
|
|
49
|
-
require_file
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def process_domain(domain)
|
|
53
|
-
result = @template.result_with_hash(domain: domain, version: @version.upcase, h: self)
|
|
54
|
-
filename = File.join(@output_dir, "#{snake_case(domain[:domain])}.rb")
|
|
55
|
-
File.write(filename, remove_empty_lines(result))
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def snake_case(string)
|
|
59
|
-
name = string.gsub('JavaScript', 'Javascript')
|
|
60
|
-
.gsub(/([A-Z]+)([A-Z][a-z]{2,})/, '\1_\2')
|
|
61
|
-
.gsub(/([a-z\d])([A-Z])/, '\1_\2')
|
|
62
|
-
.downcase
|
|
63
|
-
# Certain CDP parameters conflict with Ruby keywords
|
|
64
|
-
# so we prefix the name with underscore.
|
|
65
|
-
name = "_#{name}" if RESERVED_KEYWORDS.include?(name)
|
|
66
|
-
|
|
67
|
-
name
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
def kwargs(parameters)
|
|
71
|
-
parameters = parameters.map do |parameter|
|
|
72
|
-
if parameter[:optional]
|
|
73
|
-
"#{snake_case(parameter[:name])}: nil"
|
|
74
|
-
else
|
|
75
|
-
"#{snake_case(parameter[:name])}:"
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
parameters.join(', ')
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
def remove_empty_lines(string)
|
|
82
|
-
string.split("\n").reject { |l| l =~ /^\s+$/ }.join("\n")
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
def require_file
|
|
86
|
-
# rubocop:disable Lint/InterpolationCheck
|
|
87
|
-
dynamic_location = '#{File.dirname(File.absolute_path(__FILE__))}'
|
|
88
|
-
# rubocop:enable Lint/InterpolationCheck
|
|
89
|
-
|
|
90
|
-
require_all = "Dir.glob(\"#{dynamic_location}/#{@version}/*\", &method(:require))"
|
|
91
|
-
File.open(@loader_path, 'w') { |file| file.write(require_all) }
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
if $PROGRAM_NAME == __FILE__
|
|
99
|
-
browser_protocol_path, js_protocol_path, output_dir, loader_path, version = *ARGV
|
|
100
|
-
|
|
101
|
-
Selenium::WebDriver::Support::CDPClientGenerator.new.call(
|
|
102
|
-
browser_protocol_path: browser_protocol_path,
|
|
103
|
-
js_protocol_path: js_protocol_path,
|
|
104
|
-
output_dir: output_dir,
|
|
105
|
-
loader_path: loader_path,
|
|
106
|
-
version: version
|
|
107
|
-
)
|
|
108
|
-
end
|