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.
- checksums.yaml +4 -4
- data/CHANGES +40 -0
- data/Gemfile +2 -0
- data/README.md +2 -2
- 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/server.rb +4 -16
- data/lib/selenium/webdriver/atoms/findElements.js +3 -4
- data/lib/selenium/webdriver/chrome/service.rb +1 -3
- data/lib/selenium/webdriver/chromium/options.rb +0 -18
- data/lib/selenium/webdriver/chromium.rb +0 -1
- data/lib/selenium/webdriver/common/action_builder.rb +0 -8
- data/lib/selenium/webdriver/common/child_process.rb +11 -11
- data/lib/selenium/webdriver/common/driver_finder.rb +10 -8
- data/lib/selenium/webdriver/common/error.rb +28 -3
- data/lib/selenium/webdriver/common/logger.rb +87 -30
- data/lib/selenium/webdriver/common/options.rb +3 -22
- data/lib/selenium/webdriver/common/platform.rb +0 -49
- data/lib/selenium/webdriver/common/port_prober.rb +1 -1
- data/lib/selenium/webdriver/common/proxy.rb +1 -1
- data/lib/selenium/webdriver/common/selenium_manager.rb +50 -27
- data/lib/selenium/webdriver/common/service.rb +11 -13
- data/lib/selenium/webdriver/common/service_manager.rb +4 -2
- data/lib/selenium/webdriver/common/socket_lock.rb +1 -1
- data/lib/selenium/webdriver/common/socket_poller.rb +1 -1
- data/lib/selenium/webdriver/common/websocket_connection.rb +3 -3
- data/lib/selenium/webdriver/devtools.rb +1 -1
- data/lib/selenium/webdriver/edge/options.rb +14 -0
- data/lib/selenium/webdriver/edge/service.rb +1 -3
- data/lib/selenium/webdriver/firefox/options.rb +0 -15
- data/lib/selenium/webdriver/firefox/profile.rb +1 -1
- data/lib/selenium/webdriver/firefox/service.rb +0 -12
- data/lib/selenium/webdriver/ie/options.rb +2 -1
- data/lib/selenium/webdriver/ie/service.rb +0 -16
- data/lib/selenium/webdriver/remote/bridge.rb +6 -5
- data/lib/selenium/webdriver/remote/capabilities.rb +0 -72
- data/lib/selenium/webdriver/remote/http/common.rb +3 -3
- data/lib/selenium/webdriver/remote/http/curb.rb +1 -1
- data/lib/selenium/webdriver/remote/http/default.rb +2 -3
- data/lib/selenium/webdriver/remote/server_error.rb +1 -1
- data/lib/selenium/webdriver/safari/service.rb +10 -0
- data/lib/selenium/webdriver/support/color.rb +8 -8
- data/lib/selenium/webdriver/version.rb +1 -1
- data/lib/selenium/webdriver.rb +2 -1
- data/selenium-webdriver.gemspec +2 -2
- metadata +13 -14
- 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
|
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
|
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
|
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
|
38
|
-
HEX_PATTERN = /#(\h{2})(\h{2})(\h{2})
|
39
|
-
HEX3_PATTERN = /#(\h)(\h)(\h)
|
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
|
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
|
46
|
+
\s*(0|1|0\.\d+)\s*\)\s*$/x
|
47
47
|
|
48
48
|
attr_reader :red, :green, :blue, :alpha
|
49
49
|
|
data/lib/selenium/webdriver.rb
CHANGED
@@ -95,7 +95,8 @@ module Selenium
|
|
95
95
|
#
|
96
96
|
|
97
97
|
def self.logger(**opts)
|
98
|
-
|
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
|
data/selenium-webdriver.gemspec
CHANGED
@@ -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('>=
|
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.
|
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-
|
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:
|
70
|
+
name: rack
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0
|
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
|
82
|
+
version: '2.0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
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: '
|
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: '
|
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.
|
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
|