selenium-webdriver 4.4.0 → 4.11.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 +177 -1
- 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 +21 -29
- 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 +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 +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 +5 -72
- data/lib/selenium/webdriver/chrome/options.rb +3 -237
- data/lib/selenium/webdriver/chrome/profile.rb +3 -83
- data/lib/selenium/webdriver/chrome/service.rb +0 -22
- 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 +243 -0
- data/lib/selenium/webdriver/chromium/profile.rb +113 -0
- data/lib/selenium/webdriver/chromium.rb +31 -0
- data/lib/selenium/webdriver/common/action_builder.rb +11 -56
- data/lib/selenium/webdriver/common/child_process.rb +124 -0
- data/lib/selenium/webdriver/common/driver.rb +21 -26
- 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_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 +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 +0 -2
- 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 +3 -3
- 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 +55 -0
- data/lib/selenium/webdriver/common/logger.rb +90 -25
- data/lib/selenium/webdriver/common/options.rb +11 -8
- 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 +131 -0
- data/lib/selenium/webdriver/common/service.rb +17 -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 +8 -6
- data/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb +0 -1
- data/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator_options.rb +16 -16
- data/lib/selenium/webdriver/common/websocket_connection.rb +12 -4
- data/lib/selenium/webdriver/common.rb +4 -0
- 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 +4 -7
- 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 +11 -2
- data/lib/selenium/webdriver/edge/driver.rb +9 -3
- data/lib/selenium/webdriver/edge/features.rb +3 -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 +1 -7
- data/lib/selenium/webdriver/firefox/driver.rb +8 -2
- data/lib/selenium/webdriver/firefox/features.rb +5 -2
- data/lib/selenium/webdriver/firefox/options.rb +3 -14
- data/lib/selenium/webdriver/firefox/profile.rb +7 -7
- data/lib/selenium/webdriver/firefox/service.rb +0 -18
- data/lib/selenium/webdriver/ie/driver.rb +7 -1
- data/lib/selenium/webdriver/ie/options.rb +2 -1
- data/lib/selenium/webdriver/ie/service.rb +0 -22
- data/lib/selenium/webdriver/remote/{commands.rb → bridge/commands.rb} +0 -2
- data/lib/selenium/webdriver/remote/bridge.rb +15 -20
- data/lib/selenium/webdriver/remote/capabilities.rb +3 -53
- data/lib/selenium/webdriver/remote/driver.rb +19 -13
- 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 +0 -1
- data/lib/selenium/webdriver/safari/driver.rb +7 -1
- data/lib/selenium/webdriver/safari/features.rb +0 -2
- 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 -1
- data/lib/selenium/webdriver/support/color.rb +17 -17
- data/lib/selenium/webdriver/support/guards/guard.rb +0 -2
- data/lib/selenium/webdriver/support/guards/guard_condition.rb +0 -2
- 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 +10 -11
- metadata +40 -82
- 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.11.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-07-31 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
129
|
- - "~>"
|
|
178
130
|
- !ruby/object:Gem::Version
|
|
179
|
-
version: '1.
|
|
131
|
+
version: '1.15'
|
|
180
132
|
type: :development
|
|
181
133
|
prerelease: false
|
|
182
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
183
135
|
requirements:
|
|
184
136
|
- - "~>"
|
|
185
137
|
- !ruby/object:Gem::Version
|
|
186
|
-
version: '1.
|
|
187
|
-
- !ruby/object:Gem::Dependency
|
|
188
|
-
name: rubocop-rake
|
|
189
|
-
requirement: !ruby/object:Gem::Requirement
|
|
190
|
-
requirements:
|
|
191
|
-
- - ">="
|
|
192
|
-
- !ruby/object:Gem::Version
|
|
193
|
-
version: '0'
|
|
194
|
-
type: :development
|
|
195
|
-
prerelease: false
|
|
196
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
197
|
-
requirements:
|
|
198
|
-
- - ">="
|
|
199
|
-
- !ruby/object:Gem::Version
|
|
200
|
-
version: '0'
|
|
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: '2.
|
|
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: '2.
|
|
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
|
|
@@ -315,6 +271,7 @@ files:
|
|
|
315
271
|
- lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb
|
|
316
272
|
- lib/selenium/webdriver/common/driver_extensions/prints_page.rb
|
|
317
273
|
- lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
|
|
274
|
+
- lib/selenium/webdriver/common/driver_finder.rb
|
|
318
275
|
- lib/selenium/webdriver/common/element.rb
|
|
319
276
|
- lib/selenium/webdriver/common/error.rb
|
|
320
277
|
- lib/selenium/webdriver/common/file_reaper.rb
|
|
@@ -340,6 +297,7 @@ files:
|
|
|
340
297
|
- lib/selenium/webdriver/common/interactions/wheel_actions.rb
|
|
341
298
|
- lib/selenium/webdriver/common/interactions/wheel_input.rb
|
|
342
299
|
- lib/selenium/webdriver/common/keys.rb
|
|
300
|
+
- lib/selenium/webdriver/common/local_driver.rb
|
|
343
301
|
- lib/selenium/webdriver/common/log_entry.rb
|
|
344
302
|
- lib/selenium/webdriver/common/logger.rb
|
|
345
303
|
- lib/selenium/webdriver/common/logs.rb
|
|
@@ -351,6 +309,7 @@ files:
|
|
|
351
309
|
- lib/selenium/webdriver/common/profile_helper.rb
|
|
352
310
|
- lib/selenium/webdriver/common/proxy.rb
|
|
353
311
|
- lib/selenium/webdriver/common/search_context.rb
|
|
312
|
+
- lib/selenium/webdriver/common/selenium_manager.rb
|
|
354
313
|
- lib/selenium/webdriver/common/service.rb
|
|
355
314
|
- lib/selenium/webdriver/common/service_manager.rb
|
|
356
315
|
- lib/selenium/webdriver/common/shadow_root.rb
|
|
@@ -395,8 +354,8 @@ files:
|
|
|
395
354
|
- lib/selenium/webdriver/ie/service.rb
|
|
396
355
|
- lib/selenium/webdriver/remote.rb
|
|
397
356
|
- lib/selenium/webdriver/remote/bridge.rb
|
|
357
|
+
- lib/selenium/webdriver/remote/bridge/commands.rb
|
|
398
358
|
- lib/selenium/webdriver/remote/capabilities.rb
|
|
399
|
-
- lib/selenium/webdriver/remote/commands.rb
|
|
400
359
|
- lib/selenium/webdriver/remote/driver.rb
|
|
401
360
|
- lib/selenium/webdriver/remote/http/common.rb
|
|
402
361
|
- lib/selenium/webdriver/remote/http/curb.rb
|
|
@@ -411,8 +370,6 @@ files:
|
|
|
411
370
|
- lib/selenium/webdriver/support.rb
|
|
412
371
|
- lib/selenium/webdriver/support/abstract_event_listener.rb
|
|
413
372
|
- lib/selenium/webdriver/support/block_event_listener.rb
|
|
414
|
-
- lib/selenium/webdriver/support/cdp/domain.rb.erb
|
|
415
|
-
- lib/selenium/webdriver/support/cdp_client_generator.rb
|
|
416
373
|
- lib/selenium/webdriver/support/color.rb
|
|
417
374
|
- lib/selenium/webdriver/support/escaper.rb
|
|
418
375
|
- lib/selenium/webdriver/support/event_firing_bridge.rb
|
|
@@ -428,9 +385,10 @@ licenses:
|
|
|
428
385
|
- Apache-2.0
|
|
429
386
|
metadata:
|
|
430
387
|
changelog_uri: https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES
|
|
388
|
+
github_repo: ssh://github.com/SeleniumHQ/selenium
|
|
431
389
|
source_code_uri: https://github.com/SeleniumHQ/selenium/tree/trunk/rb
|
|
432
390
|
rubygems_mfa_required: 'true'
|
|
433
|
-
post_install_message:
|
|
391
|
+
post_install_message:
|
|
434
392
|
rdoc_options: []
|
|
435
393
|
require_paths:
|
|
436
394
|
- lib
|
|
@@ -438,15 +396,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
438
396
|
requirements:
|
|
439
397
|
- - ">="
|
|
440
398
|
- !ruby/object:Gem::Version
|
|
441
|
-
version: '
|
|
399
|
+
version: '3.0'
|
|
442
400
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
443
401
|
requirements:
|
|
444
402
|
- - ">"
|
|
445
403
|
- !ruby/object:Gem::Version
|
|
446
404
|
version: 1.3.1
|
|
447
405
|
requirements: []
|
|
448
|
-
rubygems_version: 3.
|
|
449
|
-
signing_key:
|
|
406
|
+
rubygems_version: 3.2.33
|
|
407
|
+
signing_key:
|
|
450
408
|
specification_version: 4
|
|
451
409
|
summary: Selenium is a browser automation tool for automated testing of webapps and
|
|
452
410
|
more
|
|
@@ -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
|