selenium-webdriver 4.2.1 → 4.15.0
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 +252 -0
- data/Gemfile +2 -0
- data/LICENSE +1 -1
- data/NOTICE +1 -1
- data/README.md +2 -2
- 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 +22 -30
- data/lib/selenium/webdriver/atoms/findElements.js +3 -4
- 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 +5 -3
- data/lib/selenium/webdriver/bidi/browsing_context.rb +88 -0
- data/lib/selenium/webdriver/{common/driver_extensions/has_network_connection.rb → bidi/browsing_context_info.rb} +10 -12
- 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/{common/driver_extensions/has_location.rb → bidi/log/filter_by.rb} +14 -11
- 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 +13 -0
- data/lib/selenium/webdriver/bidi.rb +3 -2
- data/lib/selenium/webdriver/chrome/driver.rb +9 -29
- data/lib/selenium/webdriver/chrome/features.rb +8 -71
- 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 -16
- data/lib/selenium/webdriver/chromium/driver.rb +60 -0
- data/lib/selenium/webdriver/chromium/features.rb +99 -0
- data/lib/selenium/webdriver/chromium/options.rb +243 -0
- data/lib/selenium/webdriver/chromium/profile.rb +113 -0
- data/lib/selenium/webdriver/chromium.rb +29 -0
- data/lib/selenium/webdriver/common/action_builder.rb +11 -58
- data/lib/selenium/webdriver/common/child_process.rb +124 -0
- data/lib/selenium/webdriver/common/driver.rb +29 -79
- 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_bidi.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_casting.rb +0 -1
- data/lib/selenium/webdriver/common/driver_extensions/has_cdp.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_context.rb +0 -2
- 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_file_downloads.rb +65 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_launching.rb +0 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +0 -1
- 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 +0 -2
- data/lib/selenium/webdriver/common/driver_finder.rb +45 -0
- data/lib/selenium/webdriver/common/element.rb +7 -7
- data/lib/selenium/webdriver/common/error.rb +27 -4
- data/lib/selenium/webdriver/common/html5/shared_web_storage.rb +2 -2
- data/lib/selenium/webdriver/common/interactions/pointer_actions.rb +19 -36
- data/lib/selenium/webdriver/common/interactions/pointer_move.rb +2 -2
- data/lib/selenium/webdriver/common/interactions/scroll.rb +7 -5
- data/lib/selenium/webdriver/common/local_driver.rb +46 -0
- data/lib/selenium/webdriver/common/logger.rb +90 -25
- data/lib/selenium/webdriver/common/manager.rb +0 -27
- data/lib/selenium/webdriver/common/options.rb +17 -17
- data/lib/selenium/webdriver/common/platform.rb +4 -50
- data/lib/selenium/webdriver/common/port_prober.rb +1 -1
- data/lib/selenium/webdriver/common/profile_helper.rb +1 -1
- data/lib/selenium/webdriver/common/proxy.rb +2 -2
- data/lib/selenium/webdriver/common/selenium_manager.rb +134 -0
- data/lib/selenium/webdriver/common/service.rb +21 -30
- data/lib/selenium/webdriver/common/service_manager.rb +6 -12
- data/lib/selenium/webdriver/common/shadow_root.rb +1 -2
- data/lib/selenium/webdriver/common/socket_lock.rb +3 -3
- 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 +22 -7
- data/lib/selenium/webdriver/common/window.rb +6 -6
- data/lib/selenium/webdriver/common/zipper.rb +1 -1
- data/lib/selenium/webdriver/common.rb +8 -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 +0 -2
- data/lib/selenium/webdriver/devtools/response.rb +0 -2
- data/lib/selenium/webdriver/devtools.rb +12 -2
- data/lib/selenium/webdriver/edge/driver.rb +9 -3
- data/lib/selenium/webdriver/edge/features.rb +7 -4
- data/lib/selenium/webdriver/edge/options.rb +17 -5
- data/lib/selenium/webdriver/edge/profile.rb +2 -2
- data/lib/selenium/webdriver/edge/service.rb +8 -7
- data/lib/selenium/webdriver/edge.rb +0 -2
- data/lib/selenium/webdriver/firefox/driver.rb +8 -2
- data/lib/selenium/webdriver/firefox/features.rb +10 -3
- data/lib/selenium/webdriver/firefox/options.rb +4 -15
- data/lib/selenium/webdriver/firefox/profile.rb +7 -7
- data/lib/selenium/webdriver/firefox/service.rb +0 -18
- data/lib/selenium/webdriver/firefox.rb +0 -14
- data/lib/selenium/webdriver/ie/driver.rb +7 -1
- data/lib/selenium/webdriver/{common/driver_extensions/has_remote_status.rb → ie/features.rb} +10 -7
- data/lib/selenium/webdriver/ie/options.rb +4 -3
- data/lib/selenium/webdriver/ie/service.rb +0 -22
- data/lib/selenium/webdriver/ie.rb +4 -17
- data/lib/selenium/webdriver/remote/{commands.rb → bridge/commands.rb} +10 -4
- data/lib/selenium/webdriver/remote/bridge.rb +48 -39
- data/lib/selenium/webdriver/remote/capabilities.rb +3 -53
- data/lib/selenium/webdriver/remote/driver.rb +35 -14
- data/lib/selenium/webdriver/remote/features.rb +75 -0
- data/lib/selenium/webdriver/remote/http/common.rb +3 -3
- data/lib/selenium/webdriver/remote/http/curb.rb +1 -3
- data/lib/selenium/webdriver/remote/http/default.rb +2 -2
- data/lib/selenium/webdriver/remote/response.rb +0 -1
- data/lib/selenium/webdriver/remote/server_error.rb +1 -1
- data/lib/selenium/webdriver/remote.rb +1 -1
- data/lib/selenium/webdriver/safari/driver.rb +7 -1
- data/lib/selenium/webdriver/safari/features.rb +5 -3
- data/lib/selenium/webdriver/safari/options.rb +5 -1
- data/lib/selenium/webdriver/safari/service.rb +10 -4
- data/lib/selenium/webdriver/safari.rb +1 -15
- data/lib/selenium/webdriver/support/color.rb +17 -17
- data/lib/selenium/webdriver/support/guards/guard.rb +6 -5
- data/lib/selenium/webdriver/support/guards/guard_condition.rb +0 -2
- 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 +5 -4
- data/selenium-webdriver.gemspec +10 -11
- metadata +51 -90
- 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,37 +1,17 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: selenium-webdriver
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.15.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alex Rodionov
|
|
8
8
|
- Titus Fortner
|
|
9
9
|
- Thomas Walpole
|
|
10
|
-
autorequire:
|
|
10
|
+
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2023-11-01 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
|
|
@@ -86,34 +66,6 @@ dependencies:
|
|
|
86
66
|
- - "~>"
|
|
87
67
|
- !ruby/object:Gem::Version
|
|
88
68
|
version: '1.0'
|
|
89
|
-
- !ruby/object:Gem::Dependency
|
|
90
|
-
name: ffi
|
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
|
92
|
-
requirements:
|
|
93
|
-
- - ">="
|
|
94
|
-
- !ruby/object:Gem::Version
|
|
95
|
-
version: '0'
|
|
96
|
-
type: :development
|
|
97
|
-
prerelease: false
|
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
99
|
-
requirements:
|
|
100
|
-
- - ">="
|
|
101
|
-
- !ruby/object:Gem::Version
|
|
102
|
-
version: '0'
|
|
103
|
-
- !ruby/object:Gem::Dependency
|
|
104
|
-
name: pry
|
|
105
|
-
requirement: !ruby/object:Gem::Requirement
|
|
106
|
-
requirements:
|
|
107
|
-
- - "~>"
|
|
108
|
-
- !ruby/object:Gem::Version
|
|
109
|
-
version: '0.14'
|
|
110
|
-
type: :development
|
|
111
|
-
prerelease: false
|
|
112
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
113
|
-
requirements:
|
|
114
|
-
- - "~>"
|
|
115
|
-
- !ruby/object:Gem::Version
|
|
116
|
-
version: '0.14'
|
|
117
69
|
- !ruby/object:Gem::Dependency
|
|
118
70
|
name: rack
|
|
119
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -132,16 +84,16 @@ dependencies:
|
|
|
132
84
|
name: rake
|
|
133
85
|
requirement: !ruby/object:Gem::Requirement
|
|
134
86
|
requirements:
|
|
135
|
-
- - "
|
|
87
|
+
- - "~>"
|
|
136
88
|
- !ruby/object:Gem::Version
|
|
137
|
-
version: '0'
|
|
89
|
+
version: '13.0'
|
|
138
90
|
type: :development
|
|
139
91
|
prerelease: false
|
|
140
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
141
93
|
requirements:
|
|
142
|
-
- - "
|
|
94
|
+
- - "~>"
|
|
143
95
|
- !ruby/object:Gem::Version
|
|
144
|
-
version: '0'
|
|
96
|
+
version: '13.0'
|
|
145
97
|
- !ruby/object:Gem::Dependency
|
|
146
98
|
name: rspec
|
|
147
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -162,56 +114,42 @@ dependencies:
|
|
|
162
114
|
requirements:
|
|
163
115
|
- - "~>"
|
|
164
116
|
- !ruby/object:Gem::Version
|
|
165
|
-
version: '1.
|
|
117
|
+
version: '1.42'
|
|
166
118
|
type: :development
|
|
167
119
|
prerelease: false
|
|
168
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
169
121
|
requirements:
|
|
170
122
|
- - "~>"
|
|
171
123
|
- !ruby/object:Gem::Version
|
|
172
|
-
version: '1.
|
|
124
|
+
version: '1.42'
|
|
173
125
|
- !ruby/object:Gem::Dependency
|
|
174
126
|
name: rubocop-performance
|
|
175
127
|
requirement: !ruby/object:Gem::Requirement
|
|
176
128
|
requirements:
|
|
177
|
-
- - "
|
|
178
|
-
- !ruby/object:Gem::Version
|
|
179
|
-
version: '0'
|
|
180
|
-
type: :development
|
|
181
|
-
prerelease: false
|
|
182
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
183
|
-
requirements:
|
|
184
|
-
- - ">="
|
|
185
|
-
- !ruby/object:Gem::Version
|
|
186
|
-
version: '0'
|
|
187
|
-
- !ruby/object:Gem::Dependency
|
|
188
|
-
name: rubocop-rake
|
|
189
|
-
requirement: !ruby/object:Gem::Requirement
|
|
190
|
-
requirements:
|
|
191
|
-
- - ">="
|
|
129
|
+
- - "~>"
|
|
192
130
|
- !ruby/object:Gem::Version
|
|
193
|
-
version: '
|
|
131
|
+
version: '1.15'
|
|
194
132
|
type: :development
|
|
195
133
|
prerelease: false
|
|
196
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
197
135
|
requirements:
|
|
198
|
-
- - "
|
|
136
|
+
- - "~>"
|
|
199
137
|
- !ruby/object:Gem::Version
|
|
200
|
-
version: '
|
|
138
|
+
version: '1.15'
|
|
201
139
|
- !ruby/object:Gem::Dependency
|
|
202
140
|
name: rubocop-rspec
|
|
203
141
|
requirement: !ruby/object:Gem::Requirement
|
|
204
142
|
requirements:
|
|
205
|
-
- - "
|
|
143
|
+
- - "~>"
|
|
206
144
|
- !ruby/object:Gem::Version
|
|
207
|
-
version: '
|
|
145
|
+
version: '2.16'
|
|
208
146
|
type: :development
|
|
209
147
|
prerelease: false
|
|
210
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
211
149
|
requirements:
|
|
212
|
-
- - "
|
|
150
|
+
- - "~>"
|
|
213
151
|
- !ruby/object:Gem::Version
|
|
214
|
-
version: '
|
|
152
|
+
version: '2.16'
|
|
215
153
|
- !ruby/object:Gem::Dependency
|
|
216
154
|
name: webmock
|
|
217
155
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -271,6 +209,9 @@ files:
|
|
|
271
209
|
- LICENSE
|
|
272
210
|
- NOTICE
|
|
273
211
|
- README.md
|
|
212
|
+
- bin/linux/selenium-manager
|
|
213
|
+
- bin/macos/selenium-manager
|
|
214
|
+
- bin/windows/selenium-manager.exe
|
|
274
215
|
- lib/selenium-webdriver.rb
|
|
275
216
|
- lib/selenium/server.rb
|
|
276
217
|
- lib/selenium/webdriver.rb
|
|
@@ -280,6 +221,15 @@ files:
|
|
|
280
221
|
- lib/selenium/webdriver/atoms/isDisplayed.js
|
|
281
222
|
- lib/selenium/webdriver/atoms/mutationListener.js
|
|
282
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
|
|
283
233
|
- lib/selenium/webdriver/bidi/session.rb
|
|
284
234
|
- lib/selenium/webdriver/chrome.rb
|
|
285
235
|
- lib/selenium/webdriver/chrome/driver.rb
|
|
@@ -287,9 +237,15 @@ files:
|
|
|
287
237
|
- lib/selenium/webdriver/chrome/options.rb
|
|
288
238
|
- lib/selenium/webdriver/chrome/profile.rb
|
|
289
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
|
|
290
245
|
- lib/selenium/webdriver/common.rb
|
|
291
246
|
- lib/selenium/webdriver/common/action_builder.rb
|
|
292
247
|
- lib/selenium/webdriver/common/alert.rb
|
|
248
|
+
- lib/selenium/webdriver/common/child_process.rb
|
|
293
249
|
- lib/selenium/webdriver/common/driver.rb
|
|
294
250
|
- lib/selenium/webdriver/common/driver_extensions/downloads_files.rb
|
|
295
251
|
- lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb
|
|
@@ -302,20 +258,19 @@ files:
|
|
|
302
258
|
- lib/selenium/webdriver/common/driver_extensions/has_context.rb
|
|
303
259
|
- lib/selenium/webdriver/common/driver_extensions/has_debugger.rb
|
|
304
260
|
- lib/selenium/webdriver/common/driver_extensions/has_devtools.rb
|
|
261
|
+
- lib/selenium/webdriver/common/driver_extensions/has_file_downloads.rb
|
|
305
262
|
- lib/selenium/webdriver/common/driver_extensions/has_launching.rb
|
|
306
|
-
- lib/selenium/webdriver/common/driver_extensions/has_location.rb
|
|
307
263
|
- lib/selenium/webdriver/common/driver_extensions/has_log_events.rb
|
|
308
264
|
- lib/selenium/webdriver/common/driver_extensions/has_logs.rb
|
|
309
265
|
- lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb
|
|
310
|
-
- lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
|
|
311
266
|
- lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb
|
|
312
267
|
- lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
|
|
313
268
|
- lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb
|
|
314
|
-
- lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
|
|
315
269
|
- lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
|
|
316
270
|
- lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb
|
|
317
271
|
- lib/selenium/webdriver/common/driver_extensions/prints_page.rb
|
|
318
272
|
- lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
|
|
273
|
+
- lib/selenium/webdriver/common/driver_finder.rb
|
|
319
274
|
- lib/selenium/webdriver/common/element.rb
|
|
320
275
|
- lib/selenium/webdriver/common/error.rb
|
|
321
276
|
- lib/selenium/webdriver/common/file_reaper.rb
|
|
@@ -341,6 +296,7 @@ files:
|
|
|
341
296
|
- lib/selenium/webdriver/common/interactions/wheel_actions.rb
|
|
342
297
|
- lib/selenium/webdriver/common/interactions/wheel_input.rb
|
|
343
298
|
- lib/selenium/webdriver/common/keys.rb
|
|
299
|
+
- lib/selenium/webdriver/common/local_driver.rb
|
|
344
300
|
- lib/selenium/webdriver/common/log_entry.rb
|
|
345
301
|
- lib/selenium/webdriver/common/logger.rb
|
|
346
302
|
- lib/selenium/webdriver/common/logs.rb
|
|
@@ -352,6 +308,7 @@ files:
|
|
|
352
308
|
- lib/selenium/webdriver/common/profile_helper.rb
|
|
353
309
|
- lib/selenium/webdriver/common/proxy.rb
|
|
354
310
|
- lib/selenium/webdriver/common/search_context.rb
|
|
311
|
+
- lib/selenium/webdriver/common/selenium_manager.rb
|
|
355
312
|
- lib/selenium/webdriver/common/service.rb
|
|
356
313
|
- lib/selenium/webdriver/common/service_manager.rb
|
|
357
314
|
- lib/selenium/webdriver/common/shadow_root.rb
|
|
@@ -360,6 +317,9 @@ files:
|
|
|
360
317
|
- lib/selenium/webdriver/common/takes_screenshot.rb
|
|
361
318
|
- lib/selenium/webdriver/common/target_locator.rb
|
|
362
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
|
|
363
323
|
- lib/selenium/webdriver/common/wait.rb
|
|
364
324
|
- lib/selenium/webdriver/common/websocket_connection.rb
|
|
365
325
|
- lib/selenium/webdriver/common/window.rb
|
|
@@ -368,6 +328,7 @@ files:
|
|
|
368
328
|
- lib/selenium/webdriver/devtools/console_event.rb
|
|
369
329
|
- lib/selenium/webdriver/devtools/exception_event.rb
|
|
370
330
|
- lib/selenium/webdriver/devtools/mutation_event.rb
|
|
331
|
+
- lib/selenium/webdriver/devtools/network_interceptor.rb
|
|
371
332
|
- lib/selenium/webdriver/devtools/pinned_script.rb
|
|
372
333
|
- lib/selenium/webdriver/devtools/request.rb
|
|
373
334
|
- lib/selenium/webdriver/devtools/response.rb
|
|
@@ -388,17 +349,18 @@ files:
|
|
|
388
349
|
- lib/selenium/webdriver/firefox/util.rb
|
|
389
350
|
- lib/selenium/webdriver/ie.rb
|
|
390
351
|
- lib/selenium/webdriver/ie/driver.rb
|
|
352
|
+
- lib/selenium/webdriver/ie/features.rb
|
|
391
353
|
- lib/selenium/webdriver/ie/options.rb
|
|
392
354
|
- lib/selenium/webdriver/ie/service.rb
|
|
393
355
|
- lib/selenium/webdriver/remote.rb
|
|
394
356
|
- lib/selenium/webdriver/remote/bridge.rb
|
|
357
|
+
- lib/selenium/webdriver/remote/bridge/commands.rb
|
|
395
358
|
- lib/selenium/webdriver/remote/capabilities.rb
|
|
396
|
-
- lib/selenium/webdriver/remote/commands.rb
|
|
397
359
|
- lib/selenium/webdriver/remote/driver.rb
|
|
360
|
+
- lib/selenium/webdriver/remote/features.rb
|
|
398
361
|
- lib/selenium/webdriver/remote/http/common.rb
|
|
399
362
|
- lib/selenium/webdriver/remote/http/curb.rb
|
|
400
363
|
- lib/selenium/webdriver/remote/http/default.rb
|
|
401
|
-
- lib/selenium/webdriver/remote/http/persistent.rb
|
|
402
364
|
- lib/selenium/webdriver/remote/response.rb
|
|
403
365
|
- lib/selenium/webdriver/remote/server_error.rb
|
|
404
366
|
- lib/selenium/webdriver/safari.rb
|
|
@@ -409,8 +371,6 @@ files:
|
|
|
409
371
|
- lib/selenium/webdriver/support.rb
|
|
410
372
|
- lib/selenium/webdriver/support/abstract_event_listener.rb
|
|
411
373
|
- lib/selenium/webdriver/support/block_event_listener.rb
|
|
412
|
-
- lib/selenium/webdriver/support/cdp/domain.rb.erb
|
|
413
|
-
- lib/selenium/webdriver/support/cdp_client_generator.rb
|
|
414
374
|
- lib/selenium/webdriver/support/color.rb
|
|
415
375
|
- lib/selenium/webdriver/support/escaper.rb
|
|
416
376
|
- lib/selenium/webdriver/support/event_firing_bridge.rb
|
|
@@ -426,9 +386,10 @@ licenses:
|
|
|
426
386
|
- Apache-2.0
|
|
427
387
|
metadata:
|
|
428
388
|
changelog_uri: https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES
|
|
389
|
+
github_repo: ssh://github.com/SeleniumHQ/selenium
|
|
429
390
|
source_code_uri: https://github.com/SeleniumHQ/selenium/tree/trunk/rb
|
|
430
391
|
rubygems_mfa_required: 'true'
|
|
431
|
-
post_install_message:
|
|
392
|
+
post_install_message:
|
|
432
393
|
rdoc_options: []
|
|
433
394
|
require_paths:
|
|
434
395
|
- lib
|
|
@@ -436,15 +397,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
436
397
|
requirements:
|
|
437
398
|
- - ">="
|
|
438
399
|
- !ruby/object:Gem::Version
|
|
439
|
-
version: '
|
|
400
|
+
version: '3.0'
|
|
440
401
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
441
402
|
requirements:
|
|
442
403
|
- - ">"
|
|
443
404
|
- !ruby/object:Gem::Version
|
|
444
405
|
version: 1.3.1
|
|
445
406
|
requirements: []
|
|
446
|
-
rubygems_version: 3.
|
|
447
|
-
signing_key:
|
|
407
|
+
rubygems_version: 3.2.33
|
|
408
|
+
signing_key:
|
|
448
409
|
specification_version: 4
|
|
449
410
|
summary: Selenium is a browser automation tool for automated testing of webapps and
|
|
450
411
|
more
|
|
@@ -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 { |domain| process_domain(domain) }
|
|
48
|
-
js_protocol[:domains].each { |domain| process_domain(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").grep_v(/^\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.write(@loader_path, 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
|