selenium-webdriver 4.9.0 → 4.11.0

Sign up to get free protection for your applications and to get access to all the features.
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