selenium-webdriver 4.11.0 → 4.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES +21 -0
- 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/webdriver/chrome/driver.rb +2 -2
- data/lib/selenium/webdriver/chrome/service.rb +7 -0
- data/lib/selenium/webdriver/chrome.rb +0 -2
- data/lib/selenium/webdriver/chromium/driver.rb +0 -1
- data/lib/selenium/webdriver/chromium/options.rb +1 -1
- data/lib/selenium/webdriver/chromium.rb +0 -2
- data/lib/selenium/webdriver/common/action_builder.rb +0 -2
- data/lib/selenium/webdriver/common/driver.rb +0 -12
- data/lib/selenium/webdriver/common/local_driver.rb +8 -17
- data/lib/selenium/webdriver/common/selenium_manager.rb +31 -28
- data/lib/selenium/webdriver/common/service.rb +4 -0
- data/lib/selenium/webdriver/common/service_manager.rb +1 -1
- data/lib/selenium/webdriver/common.rb +0 -2
- data/lib/selenium/webdriver/edge/driver.rb +2 -2
- data/lib/selenium/webdriver/edge/service.rb +7 -0
- data/lib/selenium/webdriver/edge.rb +0 -2
- data/lib/selenium/webdriver/firefox/driver.rb +2 -2
- data/lib/selenium/webdriver/firefox/options.rb +1 -1
- data/lib/selenium/webdriver/ie/driver.rb +2 -2
- data/lib/selenium/webdriver/ie/options.rb +2 -2
- data/lib/selenium/webdriver/remote/driver.rb +12 -0
- data/lib/selenium/webdriver/safari/driver.rb +2 -2
- data/lib/selenium/webdriver/version.rb +1 -1
- data/lib/selenium/webdriver.rb +1 -0
- metadata +2 -4
- data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +0 -36
- data/lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb +0 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 450f23e323427314096b116a5ab78eb32015b00dc5c56d237b2752b87d04c36e
|
4
|
+
data.tar.gz: a65e8ab198e7c2a0e67a553700a24647e6b2e9d84868a845f3b5074991efa1b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6e1db6add8c3791a107fc670e82f54350afbd79a7fa238ab140d5881a59347b2dfe3f3512bfb16476bbf0b7c419088350a5b357067b1ef2c9efb5a5be2890c6
|
7
|
+
data.tar.gz: d96ba24461b579290ca5e02bbb27013557fba5bcba84fd9efa0c7b75e497b6f71b24641ae88bea49ffb1ad9721dedfe12fb7b2f1864a67c4c44761dc1c94f34e
|
data/CHANGES
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
4.13.0 (2023-09-25)
|
2
|
+
=========================
|
3
|
+
Ruby:
|
4
|
+
* Fix bug preventing using performance logging with chromium
|
5
|
+
* Allow users to set Selenium Manager path by environment variable (#12752)
|
6
|
+
* Allow service to be started before the driver
|
7
|
+
* remove deprecated driver extensions for location and network connection
|
8
|
+
|
9
|
+
BiDi:
|
10
|
+
* Released selenium-devtools 0.117.0 (supports CDP v85, v115, v116, v117)
|
11
|
+
|
12
|
+
4.12.0 (2023-08-31)
|
13
|
+
=========================
|
14
|
+
Ruby:
|
15
|
+
* Fix bug preventing good error messages in Selenium Manager when stdout empty
|
16
|
+
* Fix bug with Firefox not loading net/http library by default (#12506)
|
17
|
+
* Remove support for using capabilities in local drivers
|
18
|
+
|
19
|
+
BiDi:
|
20
|
+
* Released selenium-devtools 0.116.0 (supports CDP v85, v114, v115, v116)
|
21
|
+
|
1
22
|
4.11.0 (2023-07-31)
|
2
23
|
=========================
|
3
24
|
Ruby:
|
data/bin/linux/selenium-manager
CHANGED
Binary file
|
data/bin/macos/selenium-manager
CHANGED
Binary file
|
Binary file
|
@@ -30,8 +30,8 @@ module Selenium
|
|
30
30
|
class Driver < Chromium::Driver
|
31
31
|
include LocalDriver
|
32
32
|
|
33
|
-
def initialize(
|
34
|
-
caps, url = initialize_local_driver(
|
33
|
+
def initialize(options: nil, service: nil, url: nil, **opts)
|
34
|
+
caps, url = initialize_local_driver(options, service, url)
|
35
35
|
super(caps: caps, url: url, **opts)
|
36
36
|
end
|
37
37
|
|
@@ -24,6 +24,13 @@ module Selenium
|
|
24
24
|
DEFAULT_PORT = 9515
|
25
25
|
EXECUTABLE = 'chromedriver'
|
26
26
|
SHUTDOWN_SUPPORTED = true
|
27
|
+
|
28
|
+
def log
|
29
|
+
return @log unless @log.is_a? String
|
30
|
+
|
31
|
+
@args += ['--log-path', @log]
|
32
|
+
@log = nil
|
33
|
+
end
|
27
34
|
end # Service
|
28
35
|
end # Chrome
|
29
36
|
end # WebDriver
|
@@ -33,7 +33,6 @@ module Selenium
|
|
33
33
|
DriverExtensions::HasNetworkInterception,
|
34
34
|
DriverExtensions::HasWebStorage,
|
35
35
|
DriverExtensions::HasLaunching,
|
36
|
-
DriverExtensions::HasLocation,
|
37
36
|
DriverExtensions::HasPermissions,
|
38
37
|
DriverExtensions::DownloadsFiles,
|
39
38
|
DriverExtensions::HasDevTools,
|
@@ -47,7 +47,7 @@ module Selenium
|
|
47
47
|
#
|
48
48
|
# @example
|
49
49
|
# options = Selenium::WebDriver::Chrome::Options.new(args: ['start-maximized', 'user-data-dir=/tmp/temp_profile'])
|
50
|
-
# driver = Selenium::WebDriver.for(:chrome,
|
50
|
+
# driver = Selenium::WebDriver.for(:chrome, options: options)
|
51
51
|
#
|
52
52
|
# @param [Profile] profile An instance of a Chrome::Profile Class
|
53
53
|
# @param [Hash] opts the pre-defined options to create the Chrome::Options with
|
@@ -33,8 +33,6 @@ module Selenium
|
|
33
33
|
# correctly when using asynchronous.
|
34
34
|
#
|
35
35
|
# @param [Selenium::WebDriver::Remote::Bridge] bridge the bridge for the current driver instance.
|
36
|
-
# @param [Selenium::WebDriver::Interactions::PointerInput] deprecated_mouse PointerInput for the mouse.
|
37
|
-
# @param [Selenium::WebDriver::Interactions::KeyInput] deprecated_keyboard KeyInput for the keyboard.
|
38
36
|
# @param [Boolean] deprecated_async Whether to perform the actions asynchronously per device.
|
39
37
|
# Defaults to false for backwards compatibility.
|
40
38
|
# @param [Array<Selenium::WebDriver::Interactions::InputDevices>] devices list of valid sources of input.
|
@@ -318,18 +318,6 @@ module Selenium
|
|
318
318
|
end
|
319
319
|
end
|
320
320
|
|
321
|
-
def generate_capabilities(capabilities)
|
322
|
-
Array(capabilities).map { |cap|
|
323
|
-
if cap.is_a? Symbol
|
324
|
-
cap = WebDriver::Options.send(cap)
|
325
|
-
elsif !cap.respond_to? :as_json
|
326
|
-
msg = ":capabilities parameter only accepts objects responding to #as_json which #{cap.class} does not"
|
327
|
-
raise ArgumentError, msg
|
328
|
-
end
|
329
|
-
cap.as_json
|
330
|
-
}.inject(:merge)
|
331
|
-
end
|
332
|
-
|
333
321
|
def service_url(service)
|
334
322
|
@service_manager = service.launch
|
335
323
|
@service_manager.uri
|
@@ -20,35 +20,26 @@
|
|
20
20
|
module Selenium
|
21
21
|
module WebDriver
|
22
22
|
module LocalDriver
|
23
|
-
def initialize_local_driver(
|
23
|
+
def initialize_local_driver(options, service, url)
|
24
24
|
raise ArgumentError, "Can't initialize #{self.class} with :url" if url
|
25
25
|
|
26
26
|
service ||= Service.send(browser)
|
27
|
-
caps = process_options(options,
|
27
|
+
caps = process_options(options, service)
|
28
28
|
url = service_url(service)
|
29
29
|
|
30
30
|
[caps, url]
|
31
31
|
end
|
32
32
|
|
33
|
-
def process_options(options,
|
33
|
+
def process_options(options, service)
|
34
34
|
default_options = Options.send(browser)
|
35
|
+
options ||= default_options
|
35
36
|
|
36
|
-
|
37
|
-
msg = "Don't use both :options and :capabilities when initializing #{self.class}, prefer :options"
|
38
|
-
raise ArgumentError, msg
|
39
|
-
elsif options && !options.is_a?(default_options.class)
|
37
|
+
unless options.is_a?(default_options.class)
|
40
38
|
raise ArgumentError, ":options must be an instance of #{default_options.class}"
|
41
|
-
elsif capabilities
|
42
|
-
WebDriver.logger.deprecate("The :capabilities parameter for #{self.class}",
|
43
|
-
":options argument with an instance of #{self.class}",
|
44
|
-
id: :capabilities)
|
45
|
-
service.executable_path ||= WebDriver::DriverFinder.path(capabilities, service.class)
|
46
|
-
generate_capabilities(capabilities)
|
47
|
-
else
|
48
|
-
options ||= default_options
|
49
|
-
service.executable_path ||= WebDriver::DriverFinder.path(options, service.class)
|
50
|
-
options.as_json
|
51
39
|
end
|
40
|
+
|
41
|
+
service.executable_path ||= WebDriver::DriverFinder.path(options, service.class)
|
42
|
+
options.as_json
|
52
43
|
end
|
53
44
|
end
|
54
45
|
end
|
@@ -75,31 +75,36 @@ module Selenium
|
|
75
75
|
# @return [String] the path to the correct selenium manager
|
76
76
|
def binary
|
77
77
|
@binary ||= begin
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
Platform.assert_executable(location)
|
91
|
-
rescue TypeError
|
92
|
-
raise Error::WebDriverError,
|
93
|
-
"Unable to locate or obtain Selenium Manager binary; #{location} is not a valid file object"
|
94
|
-
rescue Error::WebDriverError => e
|
95
|
-
raise Error::WebDriverError, "Selenium Manager binary located, but #{e.message}"
|
96
|
-
end
|
97
|
-
|
98
|
-
WebDriver.logger.debug("Selenium Manager binary found at #{location}", id: :selenium_manager)
|
78
|
+
location = ENV.fetch('SE_MANAGER_PATH', begin
|
79
|
+
directory = File.expand_path(bin_path, __FILE__)
|
80
|
+
if Platform.windows?
|
81
|
+
"#{directory}/windows/selenium-manager.exe"
|
82
|
+
elsif Platform.mac?
|
83
|
+
"#{directory}/macos/selenium-manager"
|
84
|
+
elsif Platform.linux?
|
85
|
+
"#{directory}/linux/selenium-manager"
|
86
|
+
end
|
87
|
+
end)
|
88
|
+
|
89
|
+
validate_location(location)
|
99
90
|
location
|
100
91
|
end
|
101
92
|
end
|
102
93
|
|
94
|
+
def validate_location(location)
|
95
|
+
begin
|
96
|
+
Platform.assert_file(location)
|
97
|
+
Platform.assert_executable(location)
|
98
|
+
rescue TypeError
|
99
|
+
raise Error::WebDriverError,
|
100
|
+
"Unable to locate or obtain Selenium Manager binary; #{location} is not a valid file object"
|
101
|
+
rescue Error::WebDriverError => e
|
102
|
+
raise Error::WebDriverError, "Selenium Manager binary located, but #{e.message}"
|
103
|
+
end
|
104
|
+
|
105
|
+
WebDriver.logger.debug("Selenium Manager binary found at #{location}", id: :selenium_manager)
|
106
|
+
end
|
107
|
+
|
103
108
|
def run(*command)
|
104
109
|
command += %w[--output json]
|
105
110
|
command << '--debug' if WebDriver.logger.debug?
|
@@ -108,22 +113,20 @@ module Selenium
|
|
108
113
|
|
109
114
|
begin
|
110
115
|
stdout, stderr, status = Open3.capture3(*command)
|
111
|
-
json_output = stdout.empty? ? nil : JSON.parse(stdout)
|
112
|
-
result = json_output['result']
|
113
116
|
rescue StandardError => e
|
114
117
|
raise Error::WebDriverError, "Unsuccessful command executed: #{command}; #{e.message}"
|
115
118
|
end
|
116
119
|
|
117
|
-
|
120
|
+
json_output = stdout.empty? ? {} : JSON.parse(stdout)
|
121
|
+
(json_output['logs'] || []).each do |log|
|
118
122
|
level = log['level'].casecmp('info').zero? ? 'debug' : log['level'].downcase
|
119
123
|
WebDriver.logger.send(level, log['message'], id: :selenium_manager)
|
120
124
|
end
|
121
125
|
|
122
|
-
|
123
|
-
|
124
|
-
end
|
126
|
+
result = json_output['result']
|
127
|
+
return result unless status.exitstatus.positive?
|
125
128
|
|
126
|
-
result
|
129
|
+
raise Error::WebDriverError, "Unsuccessful command executed: #{command}\n#{result}#{stderr}"
|
127
130
|
end
|
128
131
|
end
|
129
132
|
end # SeleniumManager
|
@@ -87,6 +87,10 @@ module Selenium
|
|
87
87
|
end
|
88
88
|
|
89
89
|
def launch
|
90
|
+
@executable_path ||= begin
|
91
|
+
default_options = WebDriver.const_get("#{self.class.name.split('::')[2]}::Options").new
|
92
|
+
DriverFinder.path(default_options, self.class)
|
93
|
+
end
|
90
94
|
ServiceManager.new(self).tap(&:start)
|
91
95
|
end
|
92
96
|
|
@@ -40,8 +40,8 @@ module Selenium
|
|
40
40
|
@executable_path = config.executable_path
|
41
41
|
@host = Platform.localhost
|
42
42
|
@port = config.port
|
43
|
-
@extra_args = config.args
|
44
43
|
@io = config.log
|
44
|
+
@extra_args = config.args
|
45
45
|
@shutdown_supported = config.shutdown_supported
|
46
46
|
|
47
47
|
raise Error::WebDriverError, "invalid port: #{@port}" if @port < 1
|
@@ -68,10 +68,8 @@ require 'selenium/webdriver/common/html5/local_storage'
|
|
68
68
|
require 'selenium/webdriver/common/html5/session_storage'
|
69
69
|
require 'selenium/webdriver/common/driver_extensions/has_web_storage'
|
70
70
|
require 'selenium/webdriver/common/driver_extensions/downloads_files'
|
71
|
-
require 'selenium/webdriver/common/driver_extensions/has_location'
|
72
71
|
require 'selenium/webdriver/common/driver_extensions/has_session_id'
|
73
72
|
require 'selenium/webdriver/common/driver_extensions/has_network_conditions'
|
74
|
-
require 'selenium/webdriver/common/driver_extensions/has_network_connection'
|
75
73
|
require 'selenium/webdriver/common/driver_extensions/has_network_interception'
|
76
74
|
require 'selenium/webdriver/common/driver_extensions/has_apple_permissions'
|
77
75
|
require 'selenium/webdriver/common/driver_extensions/has_permissions'
|
@@ -30,8 +30,8 @@ module Selenium
|
|
30
30
|
class Driver < Chromium::Driver
|
31
31
|
include LocalDriver
|
32
32
|
|
33
|
-
def initialize(
|
34
|
-
caps, url = initialize_local_driver(
|
33
|
+
def initialize(options: nil, service: nil, url: nil, **opts)
|
34
|
+
caps, url = initialize_local_driver(options, service, url)
|
35
35
|
super(caps: caps, url: url, **opts)
|
36
36
|
end
|
37
37
|
|
@@ -24,6 +24,13 @@ module Selenium
|
|
24
24
|
DEFAULT_PORT = 9515
|
25
25
|
EXECUTABLE = 'msedgedriver'
|
26
26
|
SHUTDOWN_SUPPORTED = true
|
27
|
+
|
28
|
+
def log
|
29
|
+
return @log unless @log.is_a? String
|
30
|
+
|
31
|
+
@args += ['--log-path', @log]
|
32
|
+
@log = nil
|
33
|
+
end
|
27
34
|
end # Service
|
28
35
|
end # Edge
|
29
36
|
end # WebDriver
|
@@ -38,8 +38,8 @@ module Selenium
|
|
38
38
|
|
39
39
|
include LocalDriver
|
40
40
|
|
41
|
-
def initialize(
|
42
|
-
caps, url = initialize_local_driver(
|
41
|
+
def initialize(options: nil, service: nil, url: nil, **opts)
|
42
|
+
caps, url = initialize_local_driver(options, service, url)
|
43
43
|
super(caps: caps, url: url, **opts)
|
44
44
|
end
|
45
45
|
|
@@ -45,7 +45,7 @@ module Selenium
|
|
45
45
|
#
|
46
46
|
# @example
|
47
47
|
# options = Selenium::WebDriver::Firefox::Options.new(args: ['--host=127.0.0.1'])
|
48
|
-
# driver = Selenium::WebDriver.for :firefox,
|
48
|
+
# driver = Selenium::WebDriver.for :firefox, options: options
|
49
49
|
#
|
50
50
|
# @param [Hash] opts the pre-defined options to create the Firefox::Options with
|
51
51
|
# @option opts [String] :binary Path to the Firefox executable to use
|
@@ -31,8 +31,8 @@ module Selenium
|
|
31
31
|
|
32
32
|
include LocalDriver
|
33
33
|
|
34
|
-
def initialize(
|
35
|
-
caps, url = initialize_local_driver(
|
34
|
+
def initialize(options: nil, service: nil, url: nil, **opts)
|
35
|
+
caps, url = initialize_local_driver(options, service, url)
|
36
36
|
super(caps: caps, url: url, **opts)
|
37
37
|
end
|
38
38
|
|
@@ -53,12 +53,12 @@ module Selenium
|
|
53
53
|
#
|
54
54
|
# @example
|
55
55
|
# options = Selenium::WebDriver::IE::Options.new(args: ['--host=127.0.0.1'])
|
56
|
-
# driver = Selenium::WebDriver.for(:ie,
|
56
|
+
# driver = Selenium::WebDriver.for(:ie, options: options)
|
57
57
|
#
|
58
58
|
# @example
|
59
59
|
# options = Selenium::WebDriver::IE::Options.new
|
60
60
|
# options.element_scroll_behavior = Selenium::WebDriver::IE::Options::SCROLL_BOTTOM
|
61
|
-
# driver = Selenium::WebDriver.for(:ie,
|
61
|
+
# driver = Selenium::WebDriver.for(:ie, options: options)
|
62
62
|
#
|
63
63
|
# @param [Hash] opts the pre-defined options
|
64
64
|
# @option opts [Array<String>] args
|
@@ -60,6 +60,18 @@ module Selenium
|
|
60
60
|
end
|
61
61
|
options ? options.as_json : generate_capabilities(capabilities)
|
62
62
|
end
|
63
|
+
|
64
|
+
def generate_capabilities(capabilities)
|
65
|
+
Array(capabilities).map { |cap|
|
66
|
+
if cap.is_a? Symbol
|
67
|
+
cap = WebDriver::Options.send(cap)
|
68
|
+
elsif !cap.respond_to? :as_json
|
69
|
+
msg = ":capabilities parameter only accepts objects responding to #as_json which #{cap.class} does not"
|
70
|
+
raise ArgumentError, msg
|
71
|
+
end
|
72
|
+
cap.as_json
|
73
|
+
}.inject(:merge)
|
74
|
+
end
|
63
75
|
end # Driver
|
64
76
|
end # Remote
|
65
77
|
end # WebDriver
|
@@ -32,8 +32,8 @@ module Selenium
|
|
32
32
|
|
33
33
|
include LocalDriver
|
34
34
|
|
35
|
-
def initialize(
|
36
|
-
caps, url = initialize_local_driver(
|
35
|
+
def initialize(options: nil, service: nil, url: nil, **opts)
|
36
|
+
caps, url = initialize_local_driver(options, service, url)
|
37
37
|
super(caps: caps, url: url, **opts)
|
38
38
|
end
|
39
39
|
|
data/lib/selenium/webdriver.rb
CHANGED
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.13.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: 2023-
|
13
|
+
date: 2023-09-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rexml
|
@@ -259,11 +259,9 @@ files:
|
|
259
259
|
- lib/selenium/webdriver/common/driver_extensions/has_debugger.rb
|
260
260
|
- lib/selenium/webdriver/common/driver_extensions/has_devtools.rb
|
261
261
|
- lib/selenium/webdriver/common/driver_extensions/has_launching.rb
|
262
|
-
- lib/selenium/webdriver/common/driver_extensions/has_location.rb
|
263
262
|
- lib/selenium/webdriver/common/driver_extensions/has_log_events.rb
|
264
263
|
- lib/selenium/webdriver/common/driver_extensions/has_logs.rb
|
265
264
|
- lib/selenium/webdriver/common/driver_extensions/has_network_conditions.rb
|
266
|
-
- lib/selenium/webdriver/common/driver_extensions/has_network_connection.rb
|
267
265
|
- lib/selenium/webdriver/common/driver_extensions/has_network_interception.rb
|
268
266
|
- lib/selenium/webdriver/common/driver_extensions/has_permissions.rb
|
269
267
|
- lib/selenium/webdriver/common/driver_extensions/has_pinned_scripts.rb
|
@@ -1,36 +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
|
-
# TODO: Deprecated; Delete after 4.0 release
|
21
|
-
module Selenium
|
22
|
-
module WebDriver
|
23
|
-
module DriverExtensions
|
24
|
-
module HasLocation
|
25
|
-
def location
|
26
|
-
raise Error::UnsupportedOperationError, 'The W3C standard does not currently support getting location'
|
27
|
-
end
|
28
|
-
|
29
|
-
def location=(*)
|
30
|
-
raise Error::UnsupportedOperationError, 'The W3C standard does not currently support setting location'
|
31
|
-
end
|
32
|
-
alias set_location location
|
33
|
-
end # HasLocation
|
34
|
-
end # DriverExtensions
|
35
|
-
end # WebDriver
|
36
|
-
end # Selenium
|
@@ -1,37 +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
|
-
# TODO: Deprecated; Delete after 4.0 release
|
21
|
-
module Selenium
|
22
|
-
module WebDriver
|
23
|
-
module DriverExtensions
|
24
|
-
module HasNetworkConnection
|
25
|
-
def network_connection_type
|
26
|
-
raise Error::UnsupportedOperationError,
|
27
|
-
'The W3C standard does not currently support getting network connection'
|
28
|
-
end
|
29
|
-
|
30
|
-
def network_connection_type=(*)
|
31
|
-
raise Error::UnsupportedOperationError,
|
32
|
-
'The W3C standard does not currently support setting network connection'
|
33
|
-
end
|
34
|
-
end # HasNetworkConnection
|
35
|
-
end # DriverExtensions
|
36
|
-
end # WebDriver
|
37
|
-
end # Selenium
|