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.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +21 -0
  3. data/bin/linux/selenium-manager +0 -0
  4. data/bin/macos/selenium-manager +0 -0
  5. data/bin/windows/selenium-manager.exe +0 -0
  6. data/lib/selenium/webdriver/chrome/driver.rb +2 -2
  7. data/lib/selenium/webdriver/chrome/service.rb +7 -0
  8. data/lib/selenium/webdriver/chrome.rb +0 -2
  9. data/lib/selenium/webdriver/chromium/driver.rb +0 -1
  10. data/lib/selenium/webdriver/chromium/options.rb +1 -1
  11. data/lib/selenium/webdriver/chromium.rb +0 -2
  12. data/lib/selenium/webdriver/common/action_builder.rb +0 -2
  13. data/lib/selenium/webdriver/common/driver.rb +0 -12
  14. data/lib/selenium/webdriver/common/local_driver.rb +8 -17
  15. data/lib/selenium/webdriver/common/selenium_manager.rb +31 -28
  16. data/lib/selenium/webdriver/common/service.rb +4 -0
  17. data/lib/selenium/webdriver/common/service_manager.rb +1 -1
  18. data/lib/selenium/webdriver/common.rb +0 -2
  19. data/lib/selenium/webdriver/edge/driver.rb +2 -2
  20. data/lib/selenium/webdriver/edge/service.rb +7 -0
  21. data/lib/selenium/webdriver/edge.rb +0 -2
  22. data/lib/selenium/webdriver/firefox/driver.rb +2 -2
  23. data/lib/selenium/webdriver/firefox/options.rb +1 -1
  24. data/lib/selenium/webdriver/ie/driver.rb +2 -2
  25. data/lib/selenium/webdriver/ie/options.rb +2 -2
  26. data/lib/selenium/webdriver/remote/driver.rb +12 -0
  27. data/lib/selenium/webdriver/safari/driver.rb +2 -2
  28. data/lib/selenium/webdriver/version.rb +1 -1
  29. data/lib/selenium/webdriver.rb +1 -0
  30. metadata +2 -4
  31. data/lib/selenium/webdriver/common/driver_extensions/has_location.rb +0 -36
  32. 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: 55c2b164be56b90064957852c6b1f890f9cda063d5c0ef164752b7c67f6e40bb
4
- data.tar.gz: 778d0c6d2450a3d178d709762c76b9ef2c24832131d4487f6c84b5789a32b1de
3
+ metadata.gz: 450f23e323427314096b116a5ab78eb32015b00dc5c56d237b2752b87d04c36e
4
+ data.tar.gz: a65e8ab198e7c2a0e67a553700a24647e6b2e9d84868a845f3b5074991efa1b2
5
5
  SHA512:
6
- metadata.gz: 6777b04b259f2e7be27d7c2635f77b0e9006464f931e1e79a1e10f517474b71344534a8b02ba84445801581f4c50cb79901d15ef8e74133c08357625e5ad9de6
7
- data.tar.gz: 5f1e3af40a4bbcc3e4e77407321d64b1e6920ca91fcf7605bce780d42138fd587bfc951563205d8cf6e4b63952e7e4e35dd52aba496fcb1e468e6a086c81c92d
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:
Binary file
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(capabilities: nil, options: nil, service: nil, url: nil, **opts)
34
- caps, url = initialize_local_driver(capabilities, options, service, url)
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
@@ -17,8 +17,6 @@
17
17
  # specific language governing permissions and limitations
18
18
  # under the License.
19
19
 
20
- require 'net/http'
21
-
22
20
  module Selenium
23
21
  module WebDriver
24
22
  module Chrome
@@ -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, capabilities: options)
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
@@ -17,8 +17,6 @@
17
17
  # specific language governing permissions and limitations
18
18
  # under the License.
19
19
 
20
- require 'net/http'
21
-
22
20
  module Selenium
23
21
  module WebDriver
24
22
  module Chromium
@@ -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(capabilities, options, service, url)
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, capabilities, service)
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, capabilities, service)
33
+ def process_options(options, service)
34
34
  default_options = Options.send(browser)
35
+ options ||= default_options
35
36
 
36
- if options && capabilities
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
- path = File.expand_path(bin_path, __FILE__)
79
- path << if Platform.windows?
80
- '/windows/selenium-manager.exe'
81
- elsif Platform.mac?
82
- '/macos/selenium-manager'
83
- elsif Platform.linux?
84
- '/linux/selenium-manager'
85
- end
86
- location = File.expand_path(path, __FILE__)
87
-
88
- begin
89
- Platform.assert_file(location)
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
- (json_output&.fetch('logs') || []).each do |log|
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
- if status.exitstatus.positive?
123
- raise Error::WebDriverError, "Unsuccessful command executed: #{command}\n#{result}#{stderr}"
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(capabilities: nil, options: nil, service: nil, url: nil, **opts)
34
- caps, url = initialize_local_driver(capabilities, options, service, url)
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
@@ -17,8 +17,6 @@
17
17
  # specific language governing permissions and limitations
18
18
  # under the License.
19
19
 
20
- require 'net/http'
21
-
22
20
  module Selenium
23
21
  module WebDriver
24
22
  module Edge
@@ -38,8 +38,8 @@ module Selenium
38
38
 
39
39
  include LocalDriver
40
40
 
41
- def initialize(capabilities: nil, options: nil, service: nil, url: nil, **opts)
42
- caps, url = initialize_local_driver(capabilities, options, service, url)
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, capabilities: options
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(capabilities: nil, options: nil, service: nil, url: nil, **opts)
35
- caps, url = initialize_local_driver(capabilities, options, service, url)
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, capabilities: options)
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, capabilities: options)
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(capabilities: nil, options: nil, service: nil, url: nil, **opts)
36
- caps, url = initialize_local_driver(capabilities, options, service, url)
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
 
@@ -19,6 +19,6 @@
19
19
 
20
20
  module Selenium
21
21
  module WebDriver
22
- VERSION = '4.11.0'
22
+ VERSION = '4.13.0'
23
23
  end # WebDriver
24
24
  end # Selenium
@@ -23,6 +23,7 @@ require 'date'
23
23
  require 'json'
24
24
  require 'set'
25
25
  require 'uri'
26
+ require 'net/http'
26
27
 
27
28
  require 'selenium/webdriver/atoms'
28
29
  require 'selenium/webdriver/common'
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.11.0
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-07-31 00:00:00.000000000 Z
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