selenium-webdriver 4.1.0 → 4.4.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 +85 -1
- data/LICENSE +1 -1
- data/NOTICE +1 -1
- data/lib/selenium/server.rb +15 -10
- data/lib/selenium/webdriver/bidi/session.rb +38 -0
- data/lib/selenium/webdriver/bidi.rb +55 -0
- data/lib/selenium/webdriver/chrome/features.rb +5 -0
- data/lib/selenium/webdriver/chrome/options.rb +33 -19
- data/lib/selenium/webdriver/chrome.rb +0 -14
- data/lib/selenium/webdriver/common/action_builder.rb +108 -21
- data/lib/selenium/webdriver/common/driver.rb +22 -55
- data/lib/selenium/webdriver/common/driver_extensions/{has_remote_status.rb → has_bidi.rb} +12 -5
- data/lib/selenium/webdriver/common/driver_extensions/has_casting.rb +10 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_context.rb +1 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +1 -1
- data/lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb +2 -67
- data/lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb +1 -1
- data/lib/selenium/webdriver/common/element.rb +1 -1
- data/lib/selenium/webdriver/common/error.rb +1 -1
- 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 +57 -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/manager.rb +0 -27
- data/lib/selenium/webdriver/common/options.rb +2 -9
- data/lib/selenium/webdriver/common/platform.rb +4 -4
- data/lib/selenium/webdriver/common/search_context.rb +0 -6
- data/lib/selenium/webdriver/common/service_manager.rb +2 -3
- data/lib/selenium/webdriver/common/shadow_root.rb +1 -1
- data/lib/selenium/webdriver/common/socket_poller.rb +1 -1
- data/lib/selenium/webdriver/common/takes_screenshot.rb +1 -1
- data/lib/selenium/webdriver/common/virtual_authenticator/credential.rb +83 -0
- data/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb +73 -0
- data/lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator_options.rb +62 -0
- data/lib/selenium/webdriver/common/websocket_connection.rb +156 -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 +17 -3
- data/lib/selenium/webdriver/devtools/network_interceptor.rb +176 -0
- data/lib/selenium/webdriver/devtools/request.rb +1 -1
- data/lib/selenium/webdriver/devtools/response.rb +1 -1
- data/lib/selenium/webdriver/devtools.rb +6 -112
- data/lib/selenium/webdriver/edge/features.rb +1 -0
- data/lib/selenium/webdriver/firefox/driver.rb +1 -0
- data/lib/selenium/webdriver/firefox/features.rb +2 -5
- data/lib/selenium/webdriver/firefox/options.rb +3 -1
- data/lib/selenium/webdriver/firefox/profile.rb +1 -5
- data/lib/selenium/webdriver/firefox/util.rb +46 -0
- data/lib/selenium/webdriver/firefox.rb +1 -14
- data/lib/selenium/webdriver/ie.rb +0 -14
- data/lib/selenium/webdriver/remote/bridge.rb +54 -19
- data/lib/selenium/webdriver/remote/commands.rb +15 -6
- data/lib/selenium/webdriver/remote/driver.rb +0 -1
- data/lib/selenium/webdriver/remote/http/default.rb +6 -12
- data/lib/selenium/webdriver/remote/response.rb +2 -2
- data/lib/selenium/webdriver/safari.rb +0 -14
- data/lib/selenium/webdriver/support/cdp_client_generator.rb +4 -4
- data/lib/selenium/webdriver/support/color.rb +7 -7
- data/lib/selenium/webdriver/support/guards/guard_condition.rb +1 -1
- data/lib/selenium/webdriver/support/guards.rb +1 -1
- data/lib/selenium/webdriver/version.rb +1 -1
- data/lib/selenium/webdriver.rb +1 -0
- data/selenium-webdriver.gemspec +9 -6
- metadata +64 -12
- data/lib/selenium/webdriver/remote/http/persistent.rb +0 -65
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.
|
|
4
|
+
version: 4.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alex Rodionov
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2022-08-09 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: childprocess
|
|
@@ -59,6 +59,9 @@ dependencies:
|
|
|
59
59
|
- - ">="
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
61
|
version: 1.2.2
|
|
62
|
+
- - "<"
|
|
63
|
+
- !ruby/object:Gem::Version
|
|
64
|
+
version: '3.0'
|
|
62
65
|
type: :runtime
|
|
63
66
|
prerelease: false
|
|
64
67
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -66,6 +69,23 @@ dependencies:
|
|
|
66
69
|
- - ">="
|
|
67
70
|
- !ruby/object:Gem::Version
|
|
68
71
|
version: 1.2.2
|
|
72
|
+
- - "<"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '3.0'
|
|
75
|
+
- !ruby/object:Gem::Dependency
|
|
76
|
+
name: websocket
|
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '1.0'
|
|
82
|
+
type: :runtime
|
|
83
|
+
prerelease: false
|
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - "~>"
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '1.0'
|
|
69
89
|
- !ruby/object:Gem::Dependency
|
|
70
90
|
name: ffi
|
|
71
91
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -142,16 +162,30 @@ dependencies:
|
|
|
142
162
|
requirements:
|
|
143
163
|
- - "~>"
|
|
144
164
|
- !ruby/object:Gem::Version
|
|
145
|
-
version: 1.
|
|
165
|
+
version: '1.31'
|
|
146
166
|
type: :development
|
|
147
167
|
prerelease: false
|
|
148
168
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
169
|
requirements:
|
|
150
170
|
- - "~>"
|
|
151
171
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: 1.
|
|
172
|
+
version: '1.31'
|
|
153
173
|
- !ruby/object:Gem::Dependency
|
|
154
174
|
name: rubocop-performance
|
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
|
176
|
+
requirements:
|
|
177
|
+
- - "~>"
|
|
178
|
+
- !ruby/object:Gem::Version
|
|
179
|
+
version: '1.13'
|
|
180
|
+
type: :development
|
|
181
|
+
prerelease: false
|
|
182
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
183
|
+
requirements:
|
|
184
|
+
- - "~>"
|
|
185
|
+
- !ruby/object:Gem::Version
|
|
186
|
+
version: '1.13'
|
|
187
|
+
- !ruby/object:Gem::Dependency
|
|
188
|
+
name: rubocop-rake
|
|
155
189
|
requirement: !ruby/object:Gem::Requirement
|
|
156
190
|
requirements:
|
|
157
191
|
- - ">="
|
|
@@ -168,16 +202,16 @@ dependencies:
|
|
|
168
202
|
name: rubocop-rspec
|
|
169
203
|
requirement: !ruby/object:Gem::Requirement
|
|
170
204
|
requirements:
|
|
171
|
-
- - "
|
|
205
|
+
- - "~>"
|
|
172
206
|
- !ruby/object:Gem::Version
|
|
173
|
-
version: '
|
|
207
|
+
version: '2.12'
|
|
174
208
|
type: :development
|
|
175
209
|
prerelease: false
|
|
176
210
|
version_requirements: !ruby/object:Gem::Requirement
|
|
177
211
|
requirements:
|
|
178
|
-
- - "
|
|
212
|
+
- - "~>"
|
|
179
213
|
- !ruby/object:Gem::Version
|
|
180
|
-
version: '
|
|
214
|
+
version: '2.12'
|
|
181
215
|
- !ruby/object:Gem::Dependency
|
|
182
216
|
name: webmock
|
|
183
217
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -245,6 +279,8 @@ files:
|
|
|
245
279
|
- lib/selenium/webdriver/atoms/getAttribute.js
|
|
246
280
|
- lib/selenium/webdriver/atoms/isDisplayed.js
|
|
247
281
|
- lib/selenium/webdriver/atoms/mutationListener.js
|
|
282
|
+
- lib/selenium/webdriver/bidi.rb
|
|
283
|
+
- lib/selenium/webdriver/bidi/session.rb
|
|
248
284
|
- lib/selenium/webdriver/chrome.rb
|
|
249
285
|
- lib/selenium/webdriver/chrome/driver.rb
|
|
250
286
|
- lib/selenium/webdriver/chrome/features.rb
|
|
@@ -260,6 +296,7 @@ files:
|
|
|
260
296
|
- lib/selenium/webdriver/common/driver_extensions/has_addons.rb
|
|
261
297
|
- lib/selenium/webdriver/common/driver_extensions/has_apple_permissions.rb
|
|
262
298
|
- lib/selenium/webdriver/common/driver_extensions/has_authentication.rb
|
|
299
|
+
- lib/selenium/webdriver/common/driver_extensions/has_bidi.rb
|
|
263
300
|
- lib/selenium/webdriver/common/driver_extensions/has_casting.rb
|
|
264
301
|
- lib/selenium/webdriver/common/driver_extensions/has_cdp.rb
|
|
265
302
|
- lib/selenium/webdriver/common/driver_extensions/has_context.rb
|
|
@@ -274,7 +311,6 @@ files:
|
|
|
274
311
|
- lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb
|
|
275
312
|
- lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
|
|
276
313
|
- lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb
|
|
277
|
-
- lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
|
|
278
314
|
- lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
|
|
279
315
|
- lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb
|
|
280
316
|
- lib/selenium/webdriver/common/driver_extensions/prints_page.rb
|
|
@@ -291,8 +327,18 @@ files:
|
|
|
291
327
|
- lib/selenium/webdriver/common/interactions/key_actions.rb
|
|
292
328
|
- lib/selenium/webdriver/common/interactions/key_input.rb
|
|
293
329
|
- lib/selenium/webdriver/common/interactions/none_input.rb
|
|
330
|
+
- lib/selenium/webdriver/common/interactions/pause.rb
|
|
294
331
|
- lib/selenium/webdriver/common/interactions/pointer_actions.rb
|
|
332
|
+
- lib/selenium/webdriver/common/interactions/pointer_cancel.rb
|
|
333
|
+
- lib/selenium/webdriver/common/interactions/pointer_event_properties.rb
|
|
295
334
|
- lib/selenium/webdriver/common/interactions/pointer_input.rb
|
|
335
|
+
- lib/selenium/webdriver/common/interactions/pointer_move.rb
|
|
336
|
+
- lib/selenium/webdriver/common/interactions/pointer_press.rb
|
|
337
|
+
- lib/selenium/webdriver/common/interactions/scroll.rb
|
|
338
|
+
- lib/selenium/webdriver/common/interactions/scroll_origin.rb
|
|
339
|
+
- lib/selenium/webdriver/common/interactions/typing_interaction.rb
|
|
340
|
+
- lib/selenium/webdriver/common/interactions/wheel_actions.rb
|
|
341
|
+
- lib/selenium/webdriver/common/interactions/wheel_input.rb
|
|
296
342
|
- lib/selenium/webdriver/common/keys.rb
|
|
297
343
|
- lib/selenium/webdriver/common/log_entry.rb
|
|
298
344
|
- lib/selenium/webdriver/common/logger.rb
|
|
@@ -313,13 +359,18 @@ files:
|
|
|
313
359
|
- lib/selenium/webdriver/common/takes_screenshot.rb
|
|
314
360
|
- lib/selenium/webdriver/common/target_locator.rb
|
|
315
361
|
- lib/selenium/webdriver/common/timeouts.rb
|
|
362
|
+
- lib/selenium/webdriver/common/virtual_authenticator/credential.rb
|
|
363
|
+
- lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator.rb
|
|
364
|
+
- lib/selenium/webdriver/common/virtual_authenticator/virtual_authenticator_options.rb
|
|
316
365
|
- lib/selenium/webdriver/common/wait.rb
|
|
366
|
+
- lib/selenium/webdriver/common/websocket_connection.rb
|
|
317
367
|
- lib/selenium/webdriver/common/window.rb
|
|
318
368
|
- lib/selenium/webdriver/common/zipper.rb
|
|
319
369
|
- lib/selenium/webdriver/devtools.rb
|
|
320
370
|
- lib/selenium/webdriver/devtools/console_event.rb
|
|
321
371
|
- lib/selenium/webdriver/devtools/exception_event.rb
|
|
322
372
|
- lib/selenium/webdriver/devtools/mutation_event.rb
|
|
373
|
+
- lib/selenium/webdriver/devtools/network_interceptor.rb
|
|
323
374
|
- lib/selenium/webdriver/devtools/pinned_script.rb
|
|
324
375
|
- lib/selenium/webdriver/devtools/request.rb
|
|
325
376
|
- lib/selenium/webdriver/devtools/response.rb
|
|
@@ -337,6 +388,7 @@ files:
|
|
|
337
388
|
- lib/selenium/webdriver/firefox/profile.rb
|
|
338
389
|
- lib/selenium/webdriver/firefox/profiles_ini.rb
|
|
339
390
|
- lib/selenium/webdriver/firefox/service.rb
|
|
391
|
+
- lib/selenium/webdriver/firefox/util.rb
|
|
340
392
|
- lib/selenium/webdriver/ie.rb
|
|
341
393
|
- lib/selenium/webdriver/ie/driver.rb
|
|
342
394
|
- lib/selenium/webdriver/ie/options.rb
|
|
@@ -349,7 +401,6 @@ files:
|
|
|
349
401
|
- lib/selenium/webdriver/remote/http/common.rb
|
|
350
402
|
- lib/selenium/webdriver/remote/http/curb.rb
|
|
351
403
|
- lib/selenium/webdriver/remote/http/default.rb
|
|
352
|
-
- lib/selenium/webdriver/remote/http/persistent.rb
|
|
353
404
|
- lib/selenium/webdriver/remote/response.rb
|
|
354
405
|
- lib/selenium/webdriver/remote/server_error.rb
|
|
355
406
|
- lib/selenium/webdriver/safari.rb
|
|
@@ -378,6 +429,7 @@ licenses:
|
|
|
378
429
|
metadata:
|
|
379
430
|
changelog_uri: https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES
|
|
380
431
|
source_code_uri: https://github.com/SeleniumHQ/selenium/tree/trunk/rb
|
|
432
|
+
rubygems_mfa_required: 'true'
|
|
381
433
|
post_install_message:
|
|
382
434
|
rdoc_options: []
|
|
383
435
|
require_paths:
|
|
@@ -386,14 +438,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
386
438
|
requirements:
|
|
387
439
|
- - ">="
|
|
388
440
|
- !ruby/object:Gem::Version
|
|
389
|
-
version: '2.
|
|
441
|
+
version: '2.7'
|
|
390
442
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
391
443
|
requirements:
|
|
392
444
|
- - ">"
|
|
393
445
|
- !ruby/object:Gem::Version
|
|
394
446
|
version: 1.3.1
|
|
395
447
|
requirements: []
|
|
396
|
-
rubygems_version: 3.0.3
|
|
448
|
+
rubygems_version: 3.0.3.1
|
|
397
449
|
signing_key:
|
|
398
450
|
specification_version: 4
|
|
399
451
|
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
|