selenium-webdriver 4.12.0 → 4.13.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 55168c5bf8486c6fa21e644095be740f2f6db107b6864097e4ee53fdf4568f96
4
- data.tar.gz: 276d1d1976e25f0190fdbf3c5745ef20fd8c9693e6602c774a3ad41af0a054c2
3
+ metadata.gz: 450f23e323427314096b116a5ab78eb32015b00dc5c56d237b2752b87d04c36e
4
+ data.tar.gz: a65e8ab198e7c2a0e67a553700a24647e6b2e9d84868a845f3b5074991efa1b2
5
5
  SHA512:
6
- metadata.gz: 78c70c53eb450854a115edd260d1e6f796c58f42f795434202868eb025cb0d9e0e06a9268b31c4a7fbb765c25c8a4fabe11ad06a7f6dd3cda25ca0e951c4ba41
7
- data.tar.gz: 2efb72b14eb8d51dd8dfe5a4b88a58e9e551194e28ff05f890d208393fc2f34239665e143bddf405b88681c959402527b303a602fc01bfd37b7d12d8dbf29781
6
+ metadata.gz: a6e1db6add8c3791a107fc670e82f54350afbd79a7fa238ab140d5881a59347b2dfe3f3512bfb16476bbf0b7c419088350a5b357067b1ef2c9efb5a5be2890c6
7
+ data.tar.gz: d96ba24461b579290ca5e02bbb27013557fba5bcba84fd9efa0c7b75e497b6f71b24641ae88bea49ffb1ad9721dedfe12fb7b2f1864a67c4c44761dc1c94f34e
data/CHANGES CHANGED
@@ -1,4 +1,15 @@
1
- 4.12.0 (Unreleased)
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)
2
13
  =========================
3
14
  Ruby:
4
15
  * Fix bug preventing good error messages in Selenium Manager when stdout empty
Binary file
Binary file
Binary file
@@ -118,4 +118,4 @@ d=W(d);e=new U(e.a-c,e.b-c,e.width+2*c,e.height+2*c);return e.a<=d.a+d.width&&d.
118
118
  }};Z.P={left:Z.V,right:Z.aa,above:Z.R,below:Z.S,near:Z.W};Z.O={left:Z.u,right:Z.u,above:Z.u,below:Z.u,near:Z.u};Z.U=function(a,b){var c=[];l(a,function(e){e&&ta(b,function(f){var g=f.kind,h=Z.P[g];if(!h)throw new P(61,"Cannot find filter suitable for "+g);return h.apply(null,f.args)(e)},null)&&c.push(e)},null);a=b[b.length-1];var d=Z.O[a?a.kind:"unknown"];return d?(a=d.apply(null,a.args))?Z.ba(a,c):c:c};
119
119
  Z.ba=function(a,b){function c(f){f=W(f);return Math.sqrt(Math.pow(d-(f.a+Math.max(1,f.width)/2),2)+Math.pow(e-(f.b+Math.max(1,f.height)/2),2))}a=W(a);var d=a.a+Math.max(1,a.width)/2,e=a.b+Math.max(1,a.height)/2;xa(b,function(f,g){return c(f)-c(g)});return b};Z.o=function(a,b){a=Z.j(a,b);return 0==a.length?null:a[0]};
120
120
  Z.j=function(a,b){if(!a.hasOwnProperty("root")||!a.hasOwnProperty("filters"))throw new P(61,"Locator not suitable for relative locators: "+JSON.stringify(a));var c=a.filters,d=da(c);if("array"!=d&&("object"!=d||"number"!=typeof c.length))throw new P(61,"Targets should be an array: "+JSON.stringify(a));var e;S(a.root)?e=[a.root]:e=ud(a.root,b);return 0==e.length?[]:Z.U(e,a.filters)};var vd={o:function(a,b){if(""===a)throw new P(32,'Unable to locate an element with the tagName ""');return b.getElementsByTagName(a)[0]||null},j:function(a,b){if(""===a)throw new P(32,'Unable to locate an element with the tagName ""');return b.getElementsByTagName(a)}};var td={className:Dc,"class name":Dc,css:Nc,"css selector":Nc,relative:Z,id:qd,linkText:Y,"link text":Y,name:{o:function(a,b){b=mb(eb(b),"*",null,b);return ua(b,function(c){return Uc(c,"name")==a})},j:function(a,b){b=mb(eb(b),"*",null,b);return pa(b,function(c){return Uc(c,"name")==a})}},partialLinkText:rd,"partial link text":rd,tagName:vd,"tag name":vd,xpath:T};function sd(a){for(var b in a)if(a.hasOwnProperty(b))return b;return null}
121
- function ud(a,b){var c=sd(a);if(c){var d=td[c];if(d&&ea(d.j))return d.j(a[c],b||Bc.document)}throw new P(61,"Unsupported locator strategy: "+c);};ca("_",ud);; return this._.apply(null,arguments);}).apply(window, arguments);}
121
+ function ud(a,b){var c=sd(a);if(c){var d=td[c];if(d&&ea(d.j))return d.j(a[c],b||Bc.document)}throw new P(61,"Unsupported locator strategy: "+c);};ca("_",ud);; return this._.apply(null,arguments);}).apply({navigator:typeof window!='undefined'?window.navigator:null,document:typeof window!='undefined'?window.document:null}, arguments);}
@@ -97,4 +97,4 @@ Uc.prototype.set=function(a,b){Object.prototype.hasOwnProperty.call(this.b,a)||(
97
97
  Z(69,"e","E");Z(70,"f","F");Z(71,"g","G");Z(72,"h","H");Z(73,"i","I");Z(74,"j","J");Z(75,"k","K");Z(76,"l","L");Z(77,"m","M");Z(78,"n","N");Z(79,"o","O");Z(80,"p","P");Z(81,"q","Q");Z(82,"r","R");Z(83,"s","S");Z(84,"t","T");Z(85,"u","U");Z(86,"v","V");Z(87,"w","W");Z(88,"x","X");Z(89,"y","Y");Z(90,"z","Z");var ad=Z(Ia?{g:91,h:91}:Ha?{g:224,h:91}:{g:0,h:91});Z(Ia?{g:92,h:92}:Ha?{g:224,h:93}:{g:0,h:92});Z(Ia?{g:93,h:93}:Ha?{g:0,h:0}:{g:93,h:null});Z({g:96,h:96},"0");Z({g:97,h:97},"1");
98
98
  Z({g:98,h:98},"2");Z({g:99,h:99},"3");Z({g:100,h:100},"4");Z({g:101,h:101},"5");Z({g:102,h:102},"6");Z({g:103,h:103},"7");Z({g:104,h:104},"8");Z({g:105,h:105},"9");Z({g:106,h:106},"*");Z({g:107,h:107},"+");Z({g:109,h:109},"-");Z({g:110,h:110},".");Z({g:111,h:111},"/");Z(144);Z(112);Z(113);Z(114);Z(115);Z(116);Z(117);Z(118);Z(119);Z(120);Z(121);Z(122);Z(123);Z({g:107,h:187},"=","+");Z(108,",");Z({g:109,h:189},"-","_");Z(188,",","<");Z(190,".",">");Z(191,"/","?");Z(192,"`","~");Z(219,"[","{");
99
99
  Z(220,"\\","|");Z(221,"]","}");Z({g:59,h:186},";",":");Z(222,"'",'"');var bd=new Uc;bd.set(1,Yc);bd.set(2,Zc);bd.set(4,$c);bd.set(8,ad);(function(a){var b=new Uc;n(Vc(a),function(c){b.set(a.get(c).code,c)});return b})(bd);var cd={"class":"className",readonly:"readOnly"},dd="allowfullscreen allowpaymentrequest allowusermedia async autofocus autoplay checked compact complete controls declare default defaultchecked defaultselected defer disabled ended formnovalidate hidden indeterminate iscontenteditable ismap itemscope loop multiple muted nohref nomodule noresize noshade novalidate nowrap open paused playsinline pubdate readonly required reversed scoped seamless seeking selected truespeed typemustmatch willvalidate".split(" ");ba("_",function(a,b){var c=null,d=b.toLowerCase();if("style"==d)return(c=a.style)&&!aa(c)&&(c=c.cssText),c;if(("selected"==d||"checked"==d)&&Jc(a)){if(!Jc(a))throw new U(15,"Element is not selectable");b="selected";c=a.type&&a.type.toLowerCase();if("checkbox"==c||"radio"==c)b="checked";return Ic(a,b)?"true":null}var e=Gc(a,"A");if(Gc(a,"IMG")&&"src"==d||e&&"href"==d)return(c=Ec(a,d))&&(c=Ic(a,d)),c;if("spellcheck"==d){c=Ec(a,d);if(null!==c){if("false"==c.toLowerCase())return"false";if("true"==c.toLowerCase())return"true"}return Ic(a,
100
- d)+""}e=cd[b]||b;if(0<=ma(dd,d))return(c=null!==Ec(a,b)||Ic(a,e))?"true":null;try{var f=Ic(a,e)}catch(g){}null==f||da(f)?c=Ec(a,b):c=f;return null!=c?c.toString():null});; return this._.apply(null,arguments);}).apply(window, arguments);}
100
+ d)+""}e=cd[b]||b;if(0<=ma(dd,d))return(c=null!==Ec(a,b)||Ic(a,e))?"true":null;try{var f=Ic(a,e)}catch(g){}null==f||da(f)?c=Ec(a,b):c=f;return null!=c?c.toString():null});; return this._.apply(null,arguments);}).apply({navigator:typeof window!='undefined'?window.navigator:null,document:typeof window!='undefined'?window.document:null}, arguments);}
@@ -97,4 +97,4 @@ r.y){var D=Jc(a);if(0==D.width||0==D.height)return Z;var L=e.a<D.a,M=e.b<D.b;if(
97
97
  function Jc(a){var b=Lc(a);if(b)return b.rect;if(W(a,"HTML"))return a=A(a),a=((a?a.parentWindow||a.defaultView:window)||window).document,a="CSS1Compat"==a.compatMode?a.documentElement:a.body,a=new Va(a.clientWidth,a.clientHeight),new X(0,0,a.width,a.height);try{var c=a.getBoundingClientRect()}catch(d){return new X(0,0,0,0)}b=new X(c.left,c.top,c.right-c.left,c.bottom-c.top);v&&a.ownerDocument.body&&(a=A(a),b.a-=a.documentElement.clientLeft+a.body.clientLeft,b.b-=a.documentElement.clientTop+a.body.clientTop);
98
98
  return b}function Lc(a){var b=W(a,"MAP");if(!b&&!W(a,"AREA"))return null;var c=b?a:W(a.parentNode,"MAP")?a.parentNode:null,d=null,e=null;c&&c.name&&(d=Dc('/descendant::*[@usemap = "#'+c.name+'"]',A(c)))&&(e=Jc(d),b||"default"==a.shape.toLowerCase()||(a=Oc(a),b=Math.min(Math.max(a.a,0),e.width),c=Math.min(Math.max(a.b,0),e.height),e=new X(b+e.a,c+e.b,Math.min(a.width,e.width-b),Math.min(a.height,e.height-c))));return{image:d,rect:e||new X(0,0,0,0)}}
99
99
  function Oc(a){var b=a.shape.toLowerCase();a=a.coords.split(",");if("rect"==b&&4==a.length){b=a[0];var c=a[1];return new X(b,c,a[2]-b,a[3]-c)}if("circle"==b&&3==a.length)return b=a[2],new X(a[0]-b,a[1]-b,2*b,2*b);if("poly"==b&&2<a.length){b=a[0];c=a[1];for(var d=b,e=c,f=2;f+1<a.length;f+=2)b=Math.min(b,a[f]),d=Math.max(d,a[f]),c=Math.min(c,a[f+1]),e=Math.max(e,a[f+1]);return new X(b,c,d-b,e-c)}return new X(0,0,0,0)}function Nc(a){a=Jc(a);return new Ec(a.b,a.a+a.width,a.b+a.height,a.a)}
100
- function Mc(a){if(Ac){if("relative"==Y(a,"position"))return 1;a=Y(a,"filter");return(a=a.match(/^alpha\(opacity=(\d*)\)/)||a.match(/^progid:DXImageTransform.Microsoft.Alpha\(Opacity=(\d*)\)/))?Number(a[1])/100:1}return Pc(a)}function Pc(a){var b=1,c=Y(a,"opacity");c&&(b=Number(c));(a=Gc(a))&&(b*=Pc(a));return b};ba("_",function(a,b){function c(d){if(W(d)&&"none"==Y(d,"display"))return!1;var e;if((e=d.parentNode)&&e.shadowRoot&&void 0!==d.assignedSlot)e=d.assignedSlot?d.assignedSlot.parentNode:null;else if(d.getDestinationInsertionPoints){var f=d.getDestinationInsertionPoints();0<f.length&&(e=f[f.length-1])}if(Fc&&e instanceof ShadowRoot){if(e.host.shadowRoot!==e)return!1;e=e.host}return!e||9!=e.nodeType&&11!=e.nodeType?e&&W(e,"DETAILS")&&!e.open&&!W(d,"SUMMARY")?!1:!!e&&c(e):!0}return Ic(a,!!b,c)});; return this._.apply(null,arguments);}).apply(window, arguments);}
100
+ function Mc(a){if(Ac){if("relative"==Y(a,"position"))return 1;a=Y(a,"filter");return(a=a.match(/^alpha\(opacity=(\d*)\)/)||a.match(/^progid:DXImageTransform.Microsoft.Alpha\(Opacity=(\d*)\)/))?Number(a[1])/100:1}return Pc(a)}function Pc(a){var b=1,c=Y(a,"opacity");c&&(b=Number(c));(a=Gc(a))&&(b*=Pc(a));return b};ba("_",function(a,b){function c(d){if(W(d)&&"none"==Y(d,"display"))return!1;var e;if((e=d.parentNode)&&e.shadowRoot&&void 0!==d.assignedSlot)e=d.assignedSlot?d.assignedSlot.parentNode:null;else if(d.getDestinationInsertionPoints){var f=d.getDestinationInsertionPoints();0<f.length&&(e=f[f.length-1])}if(Fc&&e instanceof ShadowRoot){if(e.host.shadowRoot!==e)return!1;e=e.host}return!e||9!=e.nodeType&&11!=e.nodeType?e&&W(e,"DETAILS")&&!e.open&&!W(d,"SUMMARY")?!1:!!e&&c(e):!0}return Ic(a,!!b,c)});; return this._.apply(null,arguments);}).apply({navigator:typeof window!='undefined'?window.navigator:null,document:typeof window!='undefined'?window.document:null}, arguments);}
@@ -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,
@@ -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.
@@ -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?
@@ -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'
@@ -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
@@ -19,6 +19,6 @@
19
19
 
20
20
  module Selenium
21
21
  module WebDriver
22
- VERSION = '4.12.0'
22
+ VERSION = '4.13.0'
23
23
  end # WebDriver
24
24
  end # Selenium
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.12.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-08-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