selenium-webdriver 4.9.0 → 4.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +40 -0
  3. data/Gemfile +2 -0
  4. data/README.md +2 -2
  5. data/bin/linux/selenium-manager +0 -0
  6. data/bin/macos/selenium-manager +0 -0
  7. data/bin/windows/selenium-manager.exe +0 -0
  8. data/lib/selenium/server.rb +4 -16
  9. data/lib/selenium/webdriver/atoms/findElements.js +3 -4
  10. data/lib/selenium/webdriver/chrome/service.rb +1 -3
  11. data/lib/selenium/webdriver/chromium/options.rb +0 -18
  12. data/lib/selenium/webdriver/chromium.rb +0 -1
  13. data/lib/selenium/webdriver/common/action_builder.rb +0 -8
  14. data/lib/selenium/webdriver/common/child_process.rb +11 -11
  15. data/lib/selenium/webdriver/common/driver_finder.rb +10 -8
  16. data/lib/selenium/webdriver/common/error.rb +28 -3
  17. data/lib/selenium/webdriver/common/logger.rb +87 -30
  18. data/lib/selenium/webdriver/common/options.rb +3 -22
  19. data/lib/selenium/webdriver/common/platform.rb +0 -49
  20. data/lib/selenium/webdriver/common/port_prober.rb +1 -1
  21. data/lib/selenium/webdriver/common/proxy.rb +1 -1
  22. data/lib/selenium/webdriver/common/selenium_manager.rb +50 -27
  23. data/lib/selenium/webdriver/common/service.rb +11 -13
  24. data/lib/selenium/webdriver/common/service_manager.rb +4 -2
  25. data/lib/selenium/webdriver/common/socket_lock.rb +1 -1
  26. data/lib/selenium/webdriver/common/socket_poller.rb +1 -1
  27. data/lib/selenium/webdriver/common/websocket_connection.rb +3 -3
  28. data/lib/selenium/webdriver/devtools.rb +1 -1
  29. data/lib/selenium/webdriver/edge/options.rb +14 -0
  30. data/lib/selenium/webdriver/edge/service.rb +1 -3
  31. data/lib/selenium/webdriver/firefox/options.rb +0 -15
  32. data/lib/selenium/webdriver/firefox/profile.rb +1 -1
  33. data/lib/selenium/webdriver/firefox/service.rb +0 -12
  34. data/lib/selenium/webdriver/ie/options.rb +2 -1
  35. data/lib/selenium/webdriver/ie/service.rb +0 -16
  36. data/lib/selenium/webdriver/remote/bridge.rb +6 -5
  37. data/lib/selenium/webdriver/remote/capabilities.rb +0 -72
  38. data/lib/selenium/webdriver/remote/http/common.rb +3 -3
  39. data/lib/selenium/webdriver/remote/http/curb.rb +1 -1
  40. data/lib/selenium/webdriver/remote/http/default.rb +2 -3
  41. data/lib/selenium/webdriver/remote/server_error.rb +1 -1
  42. data/lib/selenium/webdriver/safari/service.rb +10 -0
  43. data/lib/selenium/webdriver/support/color.rb +8 -8
  44. data/lib/selenium/webdriver/version.rb +1 -1
  45. data/lib/selenium/webdriver.rb +2 -1
  46. data/selenium-webdriver.gemspec +2 -2
  47. metadata +13 -14
  48. data/lib/selenium/webdriver/chromium/service.rb +0 -42
@@ -24,6 +24,16 @@ module Selenium
24
24
  DEFAULT_PORT = 7050
25
25
  EXECUTABLE = 'safaridriver'
26
26
  SHUTDOWN_SUPPORTED = false
27
+
28
+ def initialize(path: nil, port: nil, log: nil, args: nil)
29
+ raise Error::WebDriverError, 'Safari Service does not support setting log output' if log
30
+
31
+ super
32
+ end
33
+
34
+ def log=(*)
35
+ raise Error::WebDriverError, 'Safari Service does not support setting log output'
36
+ end
27
37
  end # Service
28
38
  end # Safari
29
39
  end # WebDriver
@@ -23,27 +23,27 @@ module Selenium
23
23
  class Color
24
24
  RGB_PATTERN = /^\s*rgb\(\s*(\d{1,3})\s*,
25
25
  \s*(\d{1,3})\s*,
26
- \s*(\d{1,3})\s*\)\s*$/x.freeze
26
+ \s*(\d{1,3})\s*\)\s*$/x
27
27
  RGB_PCT_PATTERN = /^\s*rgb\(\s*(\d{1,3}|\d{1,2}\.\d+)%\s*,
28
28
  \s*(\d{1,3}|\d{1,2}\.\d+)%\s*,
29
- \s*(\d{1,3}|\d{1,2}\.\d+)%\s*\)\s*$/x.freeze
29
+ \s*(\d{1,3}|\d{1,2}\.\d+)%\s*\)\s*$/x
30
30
  RGBA_PATTERN = /^\s*rgba\(\s*(\d{1,3})\s*,
31
31
  \s*(\d{1,3})\s*,
32
32
  \s*(\d{1,3})\s*,
33
- \s*(0|1|0\.\d+)\s*\)\s*$/x.freeze
33
+ \s*(0|1|0\.\d+)\s*\)\s*$/x
34
34
  RGBA_PCT_PATTERN = /^\s*rgba\(\s*(\d{1,3}|\d{1,2}\.\d+)
35
35
  %\s*,\s*(\d{1,3}|\d{1,2}\.\d+)
36
36
  %\s*,\s*(\d{1,3}|\d{1,2}\.\d+)
37
- %\s*,\s*(0|1|0\.\d+)\s*\)\s*$/x.freeze
38
- HEX_PATTERN = /#(\h{2})(\h{2})(\h{2})/.freeze
39
- HEX3_PATTERN = /#(\h)(\h)(\h)/.freeze
37
+ %\s*,\s*(0|1|0\.\d+)\s*\)\s*$/x
38
+ HEX_PATTERN = /#(\h{2})(\h{2})(\h{2})/
39
+ HEX3_PATTERN = /#(\h)(\h)(\h)/
40
40
  HSL_PATTERN = /^\s*hsl\(\s*(\d{1,3})\s*,
41
41
  \s*(\d{1,3})%\s*,
42
- \s*(\d{1,3})%\s*\)\s*$/x.freeze
42
+ \s*(\d{1,3})%\s*\)\s*$/x
43
43
  HSLA_PATTERN = /^\s*hsla\(\s*(\d{1,3})\s*,
44
44
  \s*(\d{1,3})%\s*,
45
45
  \s*(\d{1,3})%\s*,
46
- \s*(0|1|0\.\d+)\s*\)\s*$/x.freeze
46
+ \s*(0|1|0\.\d+)\s*\)\s*$/x
47
47
 
48
48
  attr_reader :red, :green, :blue, :alpha
49
49
 
@@ -19,6 +19,6 @@
19
19
 
20
20
  module Selenium
21
21
  module WebDriver
22
- VERSION = '4.9.0'
22
+ VERSION = '4.11.0'
23
23
  end # WebDriver
24
24
  end # Selenium
@@ -95,7 +95,8 @@ module Selenium
95
95
  #
96
96
 
97
97
  def self.logger(**opts)
98
- @logger ||= WebDriver::Logger.new('Selenium', **opts)
98
+ level = $DEBUG || ENV.key?('DEBUG') ? :debug : :info
99
+ @logger ||= WebDriver::Logger.new('Selenium', default_level: level, **opts)
99
100
  end
100
101
  end # WebDriver
101
102
  end # Selenium
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
30
30
  }
31
31
 
32
32
  s.required_rubygems_version = Gem::Requirement.new('> 1.3.1') if s.respond_to? :required_rubygems_version=
33
- s.required_ruby_version = Gem::Requirement.new('>= 2.7')
33
+ s.required_ruby_version = Gem::Requirement.new('>= 3.0')
34
34
 
35
35
  s.files = [
36
36
  'CHANGES',
@@ -53,8 +53,8 @@ Gem::Specification.new do |s|
53
53
  s.add_runtime_dependency 'rubyzip', ['>= 1.2.2', '< 3.0']
54
54
  s.add_runtime_dependency 'websocket', ['~> 1.0']
55
55
 
56
- s.add_development_dependency 'pry', ['~> 0.14']
57
56
  s.add_development_dependency 'rack', ['~> 2.0']
57
+ s.add_development_dependency 'rake', ['~> 13.0']
58
58
  s.add_development_dependency 'rspec', ['~> 3.0']
59
59
  s.add_development_dependency 'rubocop', ['~> 1.42']
60
60
  s.add_development_dependency 'rubocop-performance', ['~> 1.15']
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selenium-webdriver
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.9.0
4
+ version: 4.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Rodionov
8
8
  - Titus Fortner
9
9
  - Thomas Walpole
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-04-21 00:00:00.000000000 Z
13
+ date: 2023-07-31 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rexml
@@ -67,33 +67,33 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: pry
70
+ name: rack
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.14'
75
+ version: '2.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.14'
82
+ version: '2.0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rack
84
+ name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '2.0'
89
+ version: '13.0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '2.0'
96
+ version: '13.0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -242,7 +242,6 @@ files:
242
242
  - lib/selenium/webdriver/chromium/features.rb
243
243
  - lib/selenium/webdriver/chromium/options.rb
244
244
  - lib/selenium/webdriver/chromium/profile.rb
245
- - lib/selenium/webdriver/chromium/service.rb
246
245
  - lib/selenium/webdriver/common.rb
247
246
  - lib/selenium/webdriver/common/action_builder.rb
248
247
  - lib/selenium/webdriver/common/alert.rb
@@ -389,7 +388,7 @@ metadata:
389
388
  github_repo: ssh://github.com/SeleniumHQ/selenium
390
389
  source_code_uri: https://github.com/SeleniumHQ/selenium/tree/trunk/rb
391
390
  rubygems_mfa_required: 'true'
392
- post_install_message:
391
+ post_install_message:
393
392
  rdoc_options: []
394
393
  require_paths:
395
394
  - lib
@@ -397,15 +396,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
397
396
  requirements:
398
397
  - - ">="
399
398
  - !ruby/object:Gem::Version
400
- version: '2.7'
399
+ version: '3.0'
401
400
  required_rubygems_version: !ruby/object:Gem::Requirement
402
401
  requirements:
403
402
  - - ">"
404
403
  - !ruby/object:Gem::Version
405
404
  version: 1.3.1
406
405
  requirements: []
407
- rubygems_version: 3.1.6
408
- signing_key:
406
+ rubygems_version: 3.2.33
407
+ signing_key:
409
408
  specification_version: 4
410
409
  summary: Selenium is a browser automation tool for automated testing of webapps and
411
410
  more
@@ -1,42 +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
- module Selenium
21
- module WebDriver
22
- module Chromium
23
- class Service < WebDriver::Service
24
- protected
25
-
26
- def extract_service_args(driver_opts)
27
- driver_args = super
28
- driver_opts = driver_opts.dup
29
- driver_args << "--log-path=#{driver_opts.delete(:log_path)}" if driver_opts.key?(:log_path)
30
- driver_args << "--url-base=#{driver_opts.delete(:url_base)}" if driver_opts.key?(:url_base)
31
- driver_args << "--port-server=#{driver_opts.delete(:port_server)}" if driver_opts.key?(:port_server)
32
- if driver_opts.key?(:whitelisted_ips)
33
- driver_args << "--whitelisted-ips=#{driver_opts.delete(:whitelisted_ips)}"
34
- end
35
- driver_args << '--verbose' if driver_opts.key?(:verbose)
36
- driver_args << '--silent' if driver_opts.key?(:silent)
37
- driver_args
38
- end
39
- end # Service
40
- end # Chromium
41
- end # WebDriver
42
- end # Selenium