selenium-webdriver 4.0.0.alpha7 → 4.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES +25 -0
- data/LICENSE +1 -1
- data/README.md +4 -5
- data/lib/selenium/server.rb +2 -26
- data/lib/selenium/webdriver.rb +0 -2
- data/lib/selenium/webdriver/atoms/findElements.js +88 -86
- data/lib/selenium/webdriver/chrome/driver.rb +6 -0
- data/lib/selenium/webdriver/chrome/features.rb +66 -0
- data/lib/selenium/webdriver/chrome/options.rb +51 -39
- data/lib/selenium/webdriver/chrome/service.rb +1 -1
- data/lib/selenium/webdriver/common.rb +2 -1
- data/lib/selenium/webdriver/common/driver.rb +11 -5
- data/lib/selenium/webdriver/common/driver_extensions/has_devtools.rb +1 -2
- data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +5 -8
- data/lib/selenium/webdriver/common/driver_extensions/has_log_events.rb +7 -1
- data/lib/selenium/webdriver/common/driver_extensions/has_logs.rb +30 -0
- data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +4 -27
- data/lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb +1 -0
- data/lib/selenium/webdriver/{edge_html/driver.rb → common/driver_extensions/prints_page.rb} +7 -13
- data/lib/selenium/webdriver/common/manager.rb +6 -1
- data/lib/selenium/webdriver/common/options.rb +25 -8
- data/lib/selenium/webdriver/common/platform.rb +2 -0
- data/lib/selenium/webdriver/common/service.rb +0 -8
- data/lib/selenium/webdriver/common/service_manager.rb +1 -1
- data/lib/selenium/webdriver/common/target_locator.rb +4 -4
- data/lib/selenium/webdriver/devtools.rb +5 -2
- data/lib/selenium/webdriver/devtools/v85/memory.rb +1 -1
- data/lib/selenium/webdriver/devtools/v85/network.rb +1 -1
- data/lib/selenium/webdriver/devtools/v85/page.rb +1 -1
- data/lib/selenium/webdriver/devtools/v86/memory.rb +1 -1
- data/lib/selenium/webdriver/devtools/v86/network.rb +1 -1
- data/lib/selenium/webdriver/devtools/v86/page.rb +1 -1
- data/lib/selenium/webdriver/devtools/v87/accessibility.rb +1 -1
- data/lib/selenium/webdriver/devtools/v87/animation.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/application_cache.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/audits.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/background_service.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/browser.rb +1 -1
- data/lib/selenium/webdriver/devtools/v87/cache_storage.rb +1 -1
- data/lib/selenium/webdriver/devtools/v87/cast.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/console.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/css.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/database.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/debugger.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/device_orientation.rb +1 -1
- data/lib/selenium/webdriver/devtools/v87/dom.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/dom_debugger.rb +1 -1
- data/lib/selenium/webdriver/devtools/v87/dom_snapshot.rb +1 -1
- data/lib/selenium/webdriver/devtools/v87/dom_storage.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/emulation.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/fetch.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/headless_experimental.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/heap_profiler.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/indexed_db.rb +1 -1
- data/lib/selenium/webdriver/devtools/v87/input.rb +1 -1
- data/lib/selenium/webdriver/devtools/v87/inspector.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/io.rb +1 -1
- data/lib/selenium/webdriver/devtools/v87/layer_tree.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/log.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/media.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/memory.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/network.rb +3 -3
- data/lib/selenium/webdriver/devtools/v87/overlay.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/page.rb +3 -3
- data/lib/selenium/webdriver/devtools/v87/performance.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/profiler.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/runtime.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/schema.rb +1 -1
- data/lib/selenium/webdriver/devtools/v87/security.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/service_worker.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/storage.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/system_info.rb +1 -1
- data/lib/selenium/webdriver/devtools/v87/target.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/tethering.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/tracing.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/web_audio.rb +2 -2
- data/lib/selenium/webdriver/devtools/v87/web_authn.rb +1 -1
- data/lib/selenium/webdriver/devtools/{v84 → v88}/accessibility.rb +12 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/animation.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/application_cache.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/audits.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/background_service.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/browser.rb +8 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/cache_storage.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/cast.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/console.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/css.rb +17 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/database.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/debugger.rb +9 -7
- data/lib/selenium/webdriver/devtools/{v84 → v88}/device_orientation.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/dom.rb +10 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/dom_debugger.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/dom_snapshot.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/dom_storage.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/emulation.rb +21 -5
- data/lib/selenium/webdriver/devtools/{v84 → v88}/fetch.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/headless_experimental.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/heap_profiler.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/indexed_db.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/input.rb +12 -6
- data/lib/selenium/webdriver/devtools/{v84 → v88}/inspector.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/io.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/layer_tree.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/log.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/media.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/memory.rb +4 -4
- data/lib/selenium/webdriver/devtools/{v84 → v88}/network.rb +21 -4
- data/lib/selenium/webdriver/devtools/{v84 → v88}/overlay.rb +29 -5
- data/lib/selenium/webdriver/devtools/{v84 → v88}/page.rb +4 -4
- data/lib/selenium/webdriver/devtools/{v84 → v88}/performance.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/profiler.rb +15 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/runtime.rb +9 -7
- data/lib/selenium/webdriver/devtools/{v84 → v88}/schema.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/security.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/service_worker.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/storage.rb +9 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/system_info.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/target.rb +7 -5
- data/lib/selenium/webdriver/devtools/{v84 → v88}/tethering.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/tracing.rb +6 -5
- data/lib/selenium/webdriver/devtools/{v84 → v88}/web_audio.rb +3 -3
- data/lib/selenium/webdriver/devtools/{v84 → v88}/web_authn.rb +9 -3
- data/lib/selenium/webdriver/edge.rb +7 -29
- data/lib/selenium/webdriver/{edge_chrome → edge}/bridge.rb +2 -2
- data/lib/selenium/webdriver/{edge_chrome → edge}/driver.rb +4 -4
- data/lib/selenium/webdriver/edge/features.rb +39 -0
- data/lib/selenium/webdriver/{edge_chrome → edge}/options.rb +9 -3
- data/lib/selenium/webdriver/{edge_chrome → edge}/profile.rb +2 -2
- data/lib/selenium/webdriver/{edge_chrome → edge}/service.rb +2 -2
- data/lib/selenium/webdriver/firefox/driver.rb +13 -0
- data/lib/selenium/webdriver/firefox/features.rb +47 -0
- data/lib/selenium/webdriver/firefox/options.rb +20 -21
- data/lib/selenium/webdriver/firefox/profile.rb +12 -2
- data/lib/selenium/webdriver/firefox/service.rb +1 -1
- data/lib/selenium/webdriver/ie/options.rb +0 -10
- data/lib/selenium/webdriver/ie/service.rb +1 -1
- data/lib/selenium/webdriver/remote/bridge.rb +6 -26
- data/lib/selenium/webdriver/remote/capabilities.rb +1 -15
- data/lib/selenium/webdriver/remote/commands.rb +1 -0
- data/lib/selenium/webdriver/remote/driver.rb +6 -1
- data/lib/selenium/webdriver/remote/http/default.rb +2 -2
- data/lib/selenium/webdriver/remote/http/persistent.rb +6 -0
- data/lib/selenium/webdriver/{common/driver_extensions/rotatable.rb → safari/features.rb} +26 -36
- data/lib/selenium/webdriver/safari/options.rb +0 -25
- data/lib/selenium/webdriver/support/block_event_listener.rb +1 -1
- data/lib/selenium/webdriver/support/event_firing_bridge.rb +1 -1
- data/lib/selenium/webdriver/version.rb +1 -1
- data/selenium-webdriver.gemspec +4 -2
- data/selenium_server_deploy.jar +0 -0
- metadata +89 -59
- data/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb +0 -65
- data/lib/selenium/webdriver/edge_html/options.rb +0 -84
- data/lib/selenium/webdriver/edge_html/service.rb +0 -47
@@ -25,6 +25,14 @@ module Selenium
|
|
25
25
|
|
26
26
|
VALID_PREFERENCE_TYPES = [TrueClass, FalseClass, Integer, Float, String].freeze
|
27
27
|
|
28
|
+
DEFAULT_PREFERENCES = {
|
29
|
+
"browser.newtabpage.enabled" => false,
|
30
|
+
"browser.startup.homepage" => "about:blank",
|
31
|
+
"browser.usedOnWindows10.introURL" => "about:blank",
|
32
|
+
"network.captive-portal-service.enabled" => false,
|
33
|
+
"security.csp.enable" => false
|
34
|
+
}.freeze
|
35
|
+
|
28
36
|
attr_reader :name, :log_file
|
29
37
|
attr_writer :secure_ssl, :load_no_focus_lib
|
30
38
|
|
@@ -179,10 +187,12 @@ module Selenium
|
|
179
187
|
|
180
188
|
def update_user_prefs_in(directory)
|
181
189
|
path = File.join(directory, 'user.js')
|
182
|
-
prefs = read_user_prefs(path)
|
190
|
+
prefs = read_user_prefs(path)
|
191
|
+
prefs.merge! self.class::DEFAULT_PREFERENCES
|
192
|
+
prefs.merge!(@additional_prefs)
|
183
193
|
|
184
194
|
# If the user sets the home page, we should also start up there
|
185
|
-
prefs['startup.homepage_welcome_url']
|
195
|
+
prefs['startup.homepage_welcome_url'] ||= prefs['browser.startup.homepage']
|
186
196
|
|
187
197
|
write_prefs prefs, path
|
188
198
|
end
|
@@ -43,16 +43,6 @@ module Selenium
|
|
43
43
|
}.freeze
|
44
44
|
BROWSER = 'internet explorer'
|
45
45
|
|
46
|
-
CAPABILITIES.each_key do |key|
|
47
|
-
define_method key do
|
48
|
-
@options[key]
|
49
|
-
end
|
50
|
-
|
51
|
-
define_method "#{key}=" do |value|
|
52
|
-
@options[key] = value
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
46
|
attr_reader :args
|
57
47
|
|
58
48
|
#
|
@@ -35,7 +35,7 @@ module Selenium
|
|
35
35
|
# @api private
|
36
36
|
#
|
37
37
|
|
38
|
-
def initialize(http_client: nil
|
38
|
+
def initialize(url:, http_client: nil)
|
39
39
|
uri = url.is_a?(URI) ? url : URI.parse(url)
|
40
40
|
uri.path += '/' unless uri.path.end_with?('/')
|
41
41
|
|
@@ -307,22 +307,6 @@ module Selenium
|
|
307
307
|
execute_script('return sessionStorage.length')
|
308
308
|
end
|
309
309
|
|
310
|
-
def location
|
311
|
-
raise Error::UnsupportedOperationError, 'The W3C standard does not currently support getting location'
|
312
|
-
end
|
313
|
-
|
314
|
-
def set_location(_lat, _lon, _alt)
|
315
|
-
raise Error::UnsupportedOperationError, 'The W3C standard does not currently support setting location'
|
316
|
-
end
|
317
|
-
|
318
|
-
def network_connection
|
319
|
-
raise Error::UnsupportedOperationError, 'The W3C standard does not currently support getting network connection'
|
320
|
-
end
|
321
|
-
|
322
|
-
def network_connection=(_type)
|
323
|
-
raise Error::UnsupportedOperationError, 'The W3C standard does not currently support setting network connection'
|
324
|
-
end
|
325
|
-
|
326
310
|
#
|
327
311
|
# javascript execution
|
328
312
|
#
|
@@ -393,6 +377,10 @@ module Selenium
|
|
393
377
|
execute :release_actions
|
394
378
|
end
|
395
379
|
|
380
|
+
def print_page(options = {})
|
381
|
+
execute :print_page, {}, {options: options}
|
382
|
+
end
|
383
|
+
|
396
384
|
def click_element(element)
|
397
385
|
execute :element_click, id: element
|
398
386
|
end
|
@@ -432,14 +420,6 @@ module Selenium
|
|
432
420
|
'if (arguments[0].dispatchEvent(e)) { arguments[0].submit() }', form.as_json)
|
433
421
|
end
|
434
422
|
|
435
|
-
def screen_orientation=(orientation)
|
436
|
-
execute :set_screen_orientation, {}, {orientation: orientation}
|
437
|
-
end
|
438
|
-
|
439
|
-
def screen_orientation
|
440
|
-
execute :get_screen_orientation
|
441
|
-
end
|
442
|
-
|
443
423
|
#
|
444
424
|
# element properties
|
445
425
|
#
|
@@ -620,7 +600,7 @@ module Selenium
|
|
620
600
|
[how, what]
|
621
601
|
end
|
622
602
|
|
623
|
-
ESCAPE_CSS_REGEXP = /(['"\\#.:;,!?+<>=~*^$|%&@`{}\-\[\]
|
603
|
+
ESCAPE_CSS_REGEXP = /(['"\\#.:;,!?+<>=~*^$|%&@`{}\-\[\]()])/.freeze
|
624
604
|
UNICODE_CODE_POINT = 30
|
625
605
|
|
626
606
|
# Escapes invalid characters in CSS selector.
|
@@ -82,17 +82,6 @@ module Selenium
|
|
82
82
|
end
|
83
83
|
|
84
84
|
def edge(opts = {})
|
85
|
-
edge_chrome(opts)
|
86
|
-
end
|
87
|
-
|
88
|
-
def edge_html(opts = {})
|
89
|
-
new({
|
90
|
-
browser_name: 'MicrosoftEdge',
|
91
|
-
platform_name: :windows
|
92
|
-
}.merge(opts))
|
93
|
-
end
|
94
|
-
|
95
|
-
def edge_chrome(opts = {})
|
96
85
|
new({
|
97
86
|
browser_name: 'MicrosoftEdge'
|
98
87
|
}.merge(opts))
|
@@ -112,11 +101,8 @@ module Selenium
|
|
112
101
|
alias_method :ff, :firefox
|
113
102
|
|
114
103
|
def safari(opts = {})
|
115
|
-
browser = Selenium::WebDriver::Safari.technology_preview? ? "Safari Technology Preview" : 'safari'
|
116
|
-
|
117
104
|
new({
|
118
|
-
browser_name:
|
119
|
-
platform_name: :mac
|
105
|
+
browser_name: Selenium::WebDriver::Safari.technology_preview? ? "Safari Technology Preview" : 'safari'
|
120
106
|
}.merge(opts))
|
121
107
|
end
|
122
108
|
|
@@ -29,7 +29,6 @@ module Selenium
|
|
29
29
|
class Driver < WebDriver::Driver
|
30
30
|
include DriverExtensions::UploadsFiles
|
31
31
|
include DriverExtensions::HasSessionId
|
32
|
-
include DriverExtensions::Rotatable
|
33
32
|
include DriverExtensions::HasRemoteStatus
|
34
33
|
include DriverExtensions::HasWebStorage
|
35
34
|
|
@@ -45,6 +44,12 @@ module Selenium
|
|
45
44
|
opts[:url] ||= "http://#{Platform.localhost}:4444/wd/hub"
|
46
45
|
super
|
47
46
|
end
|
47
|
+
|
48
|
+
def print_page(**options)
|
49
|
+
options[:page_ranges] &&= Array(options[:page_ranges])
|
50
|
+
|
51
|
+
@bridge.print_page(options)
|
52
|
+
end
|
48
53
|
end # Driver
|
49
54
|
end # Remote
|
50
55
|
end # WebDriver
|
@@ -28,8 +28,7 @@ module Selenium
|
|
28
28
|
class Default < Common
|
29
29
|
attr_writer :proxy
|
30
30
|
|
31
|
-
attr_accessor :open_timeout
|
32
|
-
attr_accessor :read_timeout
|
31
|
+
attr_accessor :open_timeout, :read_timeout
|
33
32
|
|
34
33
|
# Initializes object.
|
35
34
|
# Warning: Setting {#open_timeout} to non-nil values will cause a separate thread to spawn.
|
@@ -39,6 +38,7 @@ module Selenium
|
|
39
38
|
def initialize(open_timeout: nil, read_timeout: nil)
|
40
39
|
@open_timeout = open_timeout
|
41
40
|
@read_timeout = read_timeout
|
41
|
+
super()
|
42
42
|
end
|
43
43
|
|
44
44
|
def close
|
@@ -25,6 +25,12 @@ module Selenium
|
|
25
25
|
module Http
|
26
26
|
# @api private
|
27
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
|
+
|
28
34
|
def close
|
29
35
|
@http&.shutdown
|
30
36
|
end
|
@@ -19,43 +19,33 @@
|
|
19
19
|
|
20
20
|
module Selenium
|
21
21
|
module WebDriver
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
#
|
35
|
-
# @api public
|
36
|
-
#
|
37
|
-
|
38
|
-
def rotation=(orientation)
|
39
|
-
unless ORIENTATIONS.include?(orientation)
|
40
|
-
raise ArgumentError, "expected #{ORIENTATIONS.inspect}, got #{orientation.inspect}"
|
41
|
-
end
|
42
|
-
|
43
|
-
bridge.screen_orientation = orientation.to_s.upcase
|
22
|
+
module Safari
|
23
|
+
module Features
|
24
|
+
|
25
|
+
# https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/WebDriverEndpointDoc/Commands/Commands.html
|
26
|
+
SAFARI_COMMANDS = {
|
27
|
+
get_permissions: [:get, 'session/:session_id/apple/permissions'],
|
28
|
+
set_permissions: [:post, 'session/:session_id/apple/permissions'],
|
29
|
+
attach_debugger: [:post, 'session/:session_id/apple/attach_debugger']
|
30
|
+
}.freeze
|
31
|
+
|
32
|
+
def commands(command)
|
33
|
+
SAFARI_COMMANDS[command] || self.class::COMMANDS[command]
|
44
34
|
end
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
# @api public
|
53
|
-
#
|
54
|
-
|
55
|
-
def orientation
|
56
|
-
bridge.screen_orientation.to_sym.downcase
|
35
|
+
|
36
|
+
def permissions
|
37
|
+
execute(:get_permissions)['permissions']
|
38
|
+
end
|
39
|
+
|
40
|
+
def permissions=(permissions)
|
41
|
+
execute :set_permissions, {}, {permissions: permissions}
|
57
42
|
end
|
58
|
-
|
59
|
-
|
43
|
+
|
44
|
+
def attach_debugger
|
45
|
+
execute :attach_debugger, {}, {}
|
46
|
+
end
|
47
|
+
|
48
|
+
end # Bridge
|
49
|
+
end # Safari
|
60
50
|
end # WebDriver
|
61
51
|
end # Selenium
|
@@ -28,31 +28,6 @@ module Selenium
|
|
28
28
|
automatic_profiling: 'safari:automaticProfiling'}.freeze
|
29
29
|
BROWSER = 'safari'
|
30
30
|
|
31
|
-
CAPABILITIES.each_key do |key|
|
32
|
-
define_method key do
|
33
|
-
@options[key]
|
34
|
-
end
|
35
|
-
|
36
|
-
define_method "#{key}=" do |value|
|
37
|
-
@options[key] = value
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
#
|
42
|
-
# Create a new Options instance for W3C-capable versions of Safari.
|
43
|
-
#
|
44
|
-
# @example
|
45
|
-
# options = Selenium::WebDriver::Safari::Options.new(automatic_inspection: true)
|
46
|
-
# driver = Selenium::WebDriver.for :safari, options: options
|
47
|
-
#
|
48
|
-
# @param [Hash] opts the pre-defined options to create the Safari::Options with
|
49
|
-
# @option opts [Boolean] :automatic_inspection Preloads Web Inspector and JavaScript debugger. Default is false
|
50
|
-
# @option opts [Boolean] :automatic_profiling Preloads Web Inspector and starts a timeline recording. Default is false
|
51
|
-
#
|
52
|
-
|
53
|
-
def initialize(**opts)
|
54
|
-
super
|
55
|
-
end
|
56
31
|
end # Options
|
57
32
|
end # Safari
|
58
33
|
end # WebDriver
|
@@ -25,7 +25,7 @@ module Selenium
|
|
25
25
|
@callback = callback
|
26
26
|
end
|
27
27
|
|
28
|
-
def method_missing(meth, *args) # rubocop:disable Style/
|
28
|
+
def method_missing(meth, *args) # rubocop:disable Style/MissingRespondToMissing
|
29
29
|
@callback.call meth, *args
|
30
30
|
end
|
31
31
|
end # BlockEventListener
|
@@ -120,7 +120,7 @@ module Selenium
|
|
120
120
|
returned
|
121
121
|
end
|
122
122
|
|
123
|
-
def method_missing(meth, *args, &blk) # rubocop:disable Style/
|
123
|
+
def method_missing(meth, *args, &blk) # rubocop:disable Style/MissingRespondToMissing
|
124
124
|
@delegate.__send__(meth, *args, &blk)
|
125
125
|
end
|
126
126
|
end # EventFiringBridge
|
data/selenium-webdriver.gemspec
CHANGED
@@ -28,10 +28,11 @@ Gem::Specification.new do |s|
|
|
28
28
|
s.required_rubygems_version = Gem::Requirement.new('> 1.3.1') if s.respond_to? :required_rubygems_version=
|
29
29
|
s.required_ruby_version = Gem::Requirement.new('>= 2.5')
|
30
30
|
|
31
|
-
s.files = Dir[root
|
31
|
+
s.files = Dir["#{root}/**/*"].reject { |e| e =~ /ruby\.iml|build\.desc/ }.map { |e| e.sub("#{root}/", '') }
|
32
32
|
s.require_paths = ['lib']
|
33
33
|
|
34
34
|
s.add_runtime_dependency 'childprocess', ['>= 0.5', '< 5.0']
|
35
|
+
s.add_runtime_dependency 'rexml', ['~> 3.2']
|
35
36
|
s.add_runtime_dependency 'rubyzip', ['>= 1.2.2']
|
36
37
|
s.add_runtime_dependency 'websocket', ['~> 1.0']
|
37
38
|
|
@@ -40,9 +41,10 @@ Gem::Specification.new do |s|
|
|
40
41
|
s.add_development_dependency 'rack', ['~> 2.0']
|
41
42
|
s.add_development_dependency 'rake'
|
42
43
|
s.add_development_dependency 'rspec', ['~> 3.0']
|
43
|
-
s.add_development_dependency 'rubocop', ['~>
|
44
|
+
s.add_development_dependency 'rubocop', ['~> 1.8.0']
|
44
45
|
s.add_development_dependency 'rubocop-performance'
|
45
46
|
s.add_development_dependency 'rubocop-rspec'
|
46
47
|
s.add_development_dependency 'webmock', ['~> 3.5']
|
48
|
+
s.add_development_dependency 'webrick', ['~> 1.7']
|
47
49
|
s.add_development_dependency 'yard', ['~> 0.9.11']
|
48
50
|
end
|
Binary file
|
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.0.0.
|
4
|
+
version: 4.0.0.beta1
|
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: 2021-02-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
@@ -32,6 +32,20 @@ dependencies:
|
|
32
32
|
- - "<"
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '5.0'
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.2'
|
41
|
+
name: rexml
|
42
|
+
prerelease: false
|
43
|
+
type: :runtime
|
44
|
+
version_requirements: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '3.2'
|
35
49
|
- !ruby/object:Gem::Dependency
|
36
50
|
requirement: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
@@ -121,7 +135,7 @@ dependencies:
|
|
121
135
|
requirements:
|
122
136
|
- - "~>"
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
138
|
+
version: 1.8.0
|
125
139
|
name: rubocop
|
126
140
|
prerelease: false
|
127
141
|
type: :development
|
@@ -129,7 +143,7 @@ dependencies:
|
|
129
143
|
requirements:
|
130
144
|
- - "~>"
|
131
145
|
- !ruby/object:Gem::Version
|
132
|
-
version:
|
146
|
+
version: 1.8.0
|
133
147
|
- !ruby/object:Gem::Dependency
|
134
148
|
requirement: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
@@ -172,6 +186,20 @@ dependencies:
|
|
172
186
|
- - "~>"
|
173
187
|
- !ruby/object:Gem::Version
|
174
188
|
version: '3.5'
|
189
|
+
- !ruby/object:Gem::Dependency
|
190
|
+
requirement: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - "~>"
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '1.7'
|
195
|
+
name: webrick
|
196
|
+
prerelease: false
|
197
|
+
type: :development
|
198
|
+
version_requirements: !ruby/object:Gem::Requirement
|
199
|
+
requirements:
|
200
|
+
- - "~>"
|
201
|
+
- !ruby/object:Gem::Version
|
202
|
+
version: '1.7'
|
175
203
|
- !ruby/object:Gem::Dependency
|
176
204
|
requirement: !ruby/object:Gem::Requirement
|
177
205
|
requirements:
|
@@ -212,6 +240,7 @@ files:
|
|
212
240
|
- lib/selenium/webdriver/chrome.rb
|
213
241
|
- lib/selenium/webdriver/chrome/bridge.rb
|
214
242
|
- lib/selenium/webdriver/chrome/driver.rb
|
243
|
+
- lib/selenium/webdriver/chrome/features.rb
|
215
244
|
- lib/selenium/webdriver/chrome/options.rb
|
216
245
|
- lib/selenium/webdriver/chrome/profile.rb
|
217
246
|
- lib/selenium/webdriver/chrome/service.rb
|
@@ -226,14 +255,14 @@ files:
|
|
226
255
|
- lib/selenium/webdriver/common/driver_extensions/has_devtools.rb
|
227
256
|
- lib/selenium/webdriver/common/driver_extensions/has_location.rb
|
228
257
|
- lib/selenium/webdriver/common/driver_extensions/has_log_events.rb
|
258
|
+
- lib/selenium/webdriver/common/driver_extensions/has_logs.rb
|
229
259
|
- lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb
|
230
260
|
- lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
|
231
261
|
- lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
|
232
262
|
- lib/selenium/webdriver/common/driver_extensions/has_remote_status.rb
|
233
263
|
- lib/selenium/webdriver/common/driver_extensions/has_session_id.rb
|
234
264
|
- lib/selenium/webdriver/common/driver_extensions/has_web_storage.rb
|
235
|
-
- lib/selenium/webdriver/common/driver_extensions/
|
236
|
-
- lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb
|
265
|
+
- lib/selenium/webdriver/common/driver_extensions/prints_page.rb
|
237
266
|
- lib/selenium/webdriver/common/driver_extensions/uploads_files.rb
|
238
267
|
- lib/selenium/webdriver/common/element.rb
|
239
268
|
- lib/selenium/webdriver/common/error.rb
|
@@ -275,51 +304,6 @@ files:
|
|
275
304
|
- lib/selenium/webdriver/devtools/console_event.rb
|
276
305
|
- lib/selenium/webdriver/devtools/exception_event.rb
|
277
306
|
- lib/selenium/webdriver/devtools/mutation_event.rb
|
278
|
-
- lib/selenium/webdriver/devtools/v84/accessibility.rb
|
279
|
-
- lib/selenium/webdriver/devtools/v84/animation.rb
|
280
|
-
- lib/selenium/webdriver/devtools/v84/application_cache.rb
|
281
|
-
- lib/selenium/webdriver/devtools/v84/audits.rb
|
282
|
-
- lib/selenium/webdriver/devtools/v84/background_service.rb
|
283
|
-
- lib/selenium/webdriver/devtools/v84/browser.rb
|
284
|
-
- lib/selenium/webdriver/devtools/v84/cache_storage.rb
|
285
|
-
- lib/selenium/webdriver/devtools/v84/cast.rb
|
286
|
-
- lib/selenium/webdriver/devtools/v84/console.rb
|
287
|
-
- lib/selenium/webdriver/devtools/v84/css.rb
|
288
|
-
- lib/selenium/webdriver/devtools/v84/database.rb
|
289
|
-
- lib/selenium/webdriver/devtools/v84/debugger.rb
|
290
|
-
- lib/selenium/webdriver/devtools/v84/device_orientation.rb
|
291
|
-
- lib/selenium/webdriver/devtools/v84/dom.rb
|
292
|
-
- lib/selenium/webdriver/devtools/v84/dom_debugger.rb
|
293
|
-
- lib/selenium/webdriver/devtools/v84/dom_snapshot.rb
|
294
|
-
- lib/selenium/webdriver/devtools/v84/dom_storage.rb
|
295
|
-
- lib/selenium/webdriver/devtools/v84/emulation.rb
|
296
|
-
- lib/selenium/webdriver/devtools/v84/fetch.rb
|
297
|
-
- lib/selenium/webdriver/devtools/v84/headless_experimental.rb
|
298
|
-
- lib/selenium/webdriver/devtools/v84/heap_profiler.rb
|
299
|
-
- lib/selenium/webdriver/devtools/v84/indexed_db.rb
|
300
|
-
- lib/selenium/webdriver/devtools/v84/input.rb
|
301
|
-
- lib/selenium/webdriver/devtools/v84/inspector.rb
|
302
|
-
- lib/selenium/webdriver/devtools/v84/io.rb
|
303
|
-
- lib/selenium/webdriver/devtools/v84/layer_tree.rb
|
304
|
-
- lib/selenium/webdriver/devtools/v84/log.rb
|
305
|
-
- lib/selenium/webdriver/devtools/v84/media.rb
|
306
|
-
- lib/selenium/webdriver/devtools/v84/memory.rb
|
307
|
-
- lib/selenium/webdriver/devtools/v84/network.rb
|
308
|
-
- lib/selenium/webdriver/devtools/v84/overlay.rb
|
309
|
-
- lib/selenium/webdriver/devtools/v84/page.rb
|
310
|
-
- lib/selenium/webdriver/devtools/v84/performance.rb
|
311
|
-
- lib/selenium/webdriver/devtools/v84/profiler.rb
|
312
|
-
- lib/selenium/webdriver/devtools/v84/runtime.rb
|
313
|
-
- lib/selenium/webdriver/devtools/v84/schema.rb
|
314
|
-
- lib/selenium/webdriver/devtools/v84/security.rb
|
315
|
-
- lib/selenium/webdriver/devtools/v84/service_worker.rb
|
316
|
-
- lib/selenium/webdriver/devtools/v84/storage.rb
|
317
|
-
- lib/selenium/webdriver/devtools/v84/system_info.rb
|
318
|
-
- lib/selenium/webdriver/devtools/v84/target.rb
|
319
|
-
- lib/selenium/webdriver/devtools/v84/tethering.rb
|
320
|
-
- lib/selenium/webdriver/devtools/v84/tracing.rb
|
321
|
-
- lib/selenium/webdriver/devtools/v84/web_audio.rb
|
322
|
-
- lib/selenium/webdriver/devtools/v84/web_authn.rb
|
323
307
|
- lib/selenium/webdriver/devtools/v85/accessibility.rb
|
324
308
|
- lib/selenium/webdriver/devtools/v85/animation.rb
|
325
309
|
- lib/selenium/webdriver/devtools/v85/application_cache.rb
|
@@ -455,19 +439,63 @@ files:
|
|
455
439
|
- lib/selenium/webdriver/devtools/v87/tracing.rb
|
456
440
|
- lib/selenium/webdriver/devtools/v87/web_audio.rb
|
457
441
|
- lib/selenium/webdriver/devtools/v87/web_authn.rb
|
442
|
+
- lib/selenium/webdriver/devtools/v88/accessibility.rb
|
443
|
+
- lib/selenium/webdriver/devtools/v88/animation.rb
|
444
|
+
- lib/selenium/webdriver/devtools/v88/application_cache.rb
|
445
|
+
- lib/selenium/webdriver/devtools/v88/audits.rb
|
446
|
+
- lib/selenium/webdriver/devtools/v88/background_service.rb
|
447
|
+
- lib/selenium/webdriver/devtools/v88/browser.rb
|
448
|
+
- lib/selenium/webdriver/devtools/v88/cache_storage.rb
|
449
|
+
- lib/selenium/webdriver/devtools/v88/cast.rb
|
450
|
+
- lib/selenium/webdriver/devtools/v88/console.rb
|
451
|
+
- lib/selenium/webdriver/devtools/v88/css.rb
|
452
|
+
- lib/selenium/webdriver/devtools/v88/database.rb
|
453
|
+
- lib/selenium/webdriver/devtools/v88/debugger.rb
|
454
|
+
- lib/selenium/webdriver/devtools/v88/device_orientation.rb
|
455
|
+
- lib/selenium/webdriver/devtools/v88/dom.rb
|
456
|
+
- lib/selenium/webdriver/devtools/v88/dom_debugger.rb
|
457
|
+
- lib/selenium/webdriver/devtools/v88/dom_snapshot.rb
|
458
|
+
- lib/selenium/webdriver/devtools/v88/dom_storage.rb
|
459
|
+
- lib/selenium/webdriver/devtools/v88/emulation.rb
|
460
|
+
- lib/selenium/webdriver/devtools/v88/fetch.rb
|
461
|
+
- lib/selenium/webdriver/devtools/v88/headless_experimental.rb
|
462
|
+
- lib/selenium/webdriver/devtools/v88/heap_profiler.rb
|
463
|
+
- lib/selenium/webdriver/devtools/v88/indexed_db.rb
|
464
|
+
- lib/selenium/webdriver/devtools/v88/input.rb
|
465
|
+
- lib/selenium/webdriver/devtools/v88/inspector.rb
|
466
|
+
- lib/selenium/webdriver/devtools/v88/io.rb
|
467
|
+
- lib/selenium/webdriver/devtools/v88/layer_tree.rb
|
468
|
+
- lib/selenium/webdriver/devtools/v88/log.rb
|
469
|
+
- lib/selenium/webdriver/devtools/v88/media.rb
|
470
|
+
- lib/selenium/webdriver/devtools/v88/memory.rb
|
471
|
+
- lib/selenium/webdriver/devtools/v88/network.rb
|
472
|
+
- lib/selenium/webdriver/devtools/v88/overlay.rb
|
473
|
+
- lib/selenium/webdriver/devtools/v88/page.rb
|
474
|
+
- lib/selenium/webdriver/devtools/v88/performance.rb
|
475
|
+
- lib/selenium/webdriver/devtools/v88/profiler.rb
|
476
|
+
- lib/selenium/webdriver/devtools/v88/runtime.rb
|
477
|
+
- lib/selenium/webdriver/devtools/v88/schema.rb
|
478
|
+
- lib/selenium/webdriver/devtools/v88/security.rb
|
479
|
+
- lib/selenium/webdriver/devtools/v88/service_worker.rb
|
480
|
+
- lib/selenium/webdriver/devtools/v88/storage.rb
|
481
|
+
- lib/selenium/webdriver/devtools/v88/system_info.rb
|
482
|
+
- lib/selenium/webdriver/devtools/v88/target.rb
|
483
|
+
- lib/selenium/webdriver/devtools/v88/tethering.rb
|
484
|
+
- lib/selenium/webdriver/devtools/v88/tracing.rb
|
485
|
+
- lib/selenium/webdriver/devtools/v88/web_audio.rb
|
486
|
+
- lib/selenium/webdriver/devtools/v88/web_authn.rb
|
458
487
|
- lib/selenium/webdriver/edge.rb
|
459
|
-
- lib/selenium/webdriver/
|
460
|
-
- lib/selenium/webdriver/
|
461
|
-
- lib/selenium/webdriver/
|
462
|
-
- lib/selenium/webdriver/
|
463
|
-
- lib/selenium/webdriver/
|
464
|
-
- lib/selenium/webdriver/
|
465
|
-
- lib/selenium/webdriver/edge_html/options.rb
|
466
|
-
- lib/selenium/webdriver/edge_html/service.rb
|
488
|
+
- lib/selenium/webdriver/edge/bridge.rb
|
489
|
+
- lib/selenium/webdriver/edge/driver.rb
|
490
|
+
- lib/selenium/webdriver/edge/features.rb
|
491
|
+
- lib/selenium/webdriver/edge/options.rb
|
492
|
+
- lib/selenium/webdriver/edge/profile.rb
|
493
|
+
- lib/selenium/webdriver/edge/service.rb
|
467
494
|
- lib/selenium/webdriver/firefox.rb
|
468
495
|
- lib/selenium/webdriver/firefox/bridge.rb
|
469
496
|
- lib/selenium/webdriver/firefox/driver.rb
|
470
497
|
- lib/selenium/webdriver/firefox/extension.rb
|
498
|
+
- lib/selenium/webdriver/firefox/features.rb
|
471
499
|
- lib/selenium/webdriver/firefox/options.rb
|
472
500
|
- lib/selenium/webdriver/firefox/profile.rb
|
473
501
|
- lib/selenium/webdriver/firefox/profiles_ini.rb
|
@@ -490,6 +518,7 @@ files:
|
|
490
518
|
- lib/selenium/webdriver/safari.rb
|
491
519
|
- lib/selenium/webdriver/safari/bridge.rb
|
492
520
|
- lib/selenium/webdriver/safari/driver.rb
|
521
|
+
- lib/selenium/webdriver/safari/features.rb
|
493
522
|
- lib/selenium/webdriver/safari/options.rb
|
494
523
|
- lib/selenium/webdriver/safari/service.rb
|
495
524
|
- lib/selenium/webdriver/support.rb
|
@@ -502,6 +531,7 @@ files:
|
|
502
531
|
- lib/selenium/webdriver/support/select.rb
|
503
532
|
- lib/selenium/webdriver/version.rb
|
504
533
|
- selenium-webdriver.gemspec
|
534
|
+
- selenium_server_deploy.jar
|
505
535
|
homepage: https://github.com/SeleniumHQ/selenium
|
506
536
|
licenses:
|
507
537
|
- Apache-2.0
|