webdrivers 4.7.0 → 5.0.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -1
- data/README.md +1 -1
- data/lib/webdrivers/common.rb +1 -1
- data/lib/webdrivers/logger.rb +2 -93
- data/lib/webdrivers/version.rb +1 -1
- data/spec/webdrivers/edge_finder_spec.rb +1 -7
- data/spec/webdrivers/edgedriver_spec.rb +3 -8
- metadata +8 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4c9d9a6544732e58eb7a88d34e39b188b5ff658caaa14fbdff15931a69d1e2d
|
4
|
+
data.tar.gz: 92a4997e99508bb79374838461cd2fee48591185b271dd6ce170628c51a02c2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb469a584a66b14097ec87b6a8f2ad30e2cbefdaeef91efd2a50f16ff0451c8a748f8607d53d06ceed3506d61e54ef31b9997e068f9e55dfe9136f8012570234
|
7
|
+
data.tar.gz: ed61ff78edd17f205673242eeba0fa76dcb2df9675a7d8dc4c813e8dd056799a44b13c1a10b238eeb36bae96cc188ca20c4edd71aebf9ec48e9a78e613136f17
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,12 @@
|
|
1
|
+
# 5.0.0 (2021-10-19)
|
2
|
+
* Require Selenium 4+
|
3
|
+
* Remove custom Logger and use the one in Selenium 4
|
4
|
+
|
1
5
|
# 4.7.0 (2021-10-14)
|
2
6
|
* Add support for Selenium 4.x #218 (thanks yahonda )
|
3
7
|
* Allow Edge on Linux
|
4
8
|
* Update required Selenium > 3.141 because of a change in 4.6
|
5
|
-
* Require
|
9
|
+
* Require Ruby 2.6+
|
6
10
|
* Fix IE downloads with the change in location of assets
|
7
11
|
|
8
12
|
# 4.6.1 (2021-08-19)
|
data/README.md
CHANGED
data/lib/webdrivers/common.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'rubygems/package'
|
4
|
-
require 'webdrivers/logger'
|
5
4
|
require 'webdrivers/network'
|
6
5
|
require 'webdrivers/system'
|
7
6
|
require 'selenium-webdriver'
|
7
|
+
require 'webdrivers/logger'
|
8
8
|
require 'webdrivers/version'
|
9
9
|
|
10
10
|
module Webdrivers
|
data/lib/webdrivers/logger.rb
CHANGED
@@ -1,11 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'forwardable'
|
4
|
-
require 'logger'
|
5
|
-
|
6
|
-
# Code adapted from Selenium Implementation
|
7
|
-
# https://github.com/SeleniumHQ/selenium/blob/master/rb/lib/selenium/webdriver/common/logger.rb
|
8
|
-
|
9
3
|
module Webdrivers
|
10
4
|
#
|
11
5
|
# @example Enable full logging
|
@@ -18,94 +12,9 @@ module Webdrivers
|
|
18
12
|
# Webdrivers.logger.info('This is info message')
|
19
13
|
# Webdrivers.logger.warn('This is warning message')
|
20
14
|
#
|
21
|
-
class Logger
|
22
|
-
extend Forwardable
|
23
|
-
include ::Logger::Severity
|
24
|
-
|
25
|
-
def_delegators :@logger, :debug, :debug?,
|
26
|
-
:info, :info?,
|
27
|
-
:warn, :warn?,
|
28
|
-
:error, :error?,
|
29
|
-
:fatal, :fatal?,
|
30
|
-
:level
|
31
|
-
|
15
|
+
class Logger < Selenium::WebDriver::Logger
|
32
16
|
def initialize
|
33
|
-
|
34
|
-
end
|
35
|
-
|
36
|
-
def output=(io)
|
37
|
-
# `Logger#reopen` was added in Ruby 2.3
|
38
|
-
if @logger.respond_to?(:reopen)
|
39
|
-
@logger.reopen(io)
|
40
|
-
else
|
41
|
-
@logger = create_logger(io)
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
#
|
46
|
-
# For Ruby < 2.3 compatibility
|
47
|
-
# Based on https://github.com/ruby/ruby/blob/ruby_2_3/lib/logger.rb#L250
|
48
|
-
#
|
49
|
-
|
50
|
-
def level=(severity)
|
51
|
-
if severity.is_a?(Integer)
|
52
|
-
@logger.level = severity
|
53
|
-
else
|
54
|
-
case severity.to_s.downcase
|
55
|
-
when 'debug'
|
56
|
-
@logger.level = DEBUG
|
57
|
-
when 'info'
|
58
|
-
@logger.level = INFO
|
59
|
-
when 'warn'
|
60
|
-
@logger.level = WARN
|
61
|
-
when 'error'
|
62
|
-
@logger.level = ERROR
|
63
|
-
when 'fatal'
|
64
|
-
@logger.level = FATAL
|
65
|
-
when 'unknown'
|
66
|
-
@logger.level = UNKNOWN
|
67
|
-
else
|
68
|
-
raise ArgumentError, "invalid log level: #{severity}"
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
#
|
74
|
-
# Returns IO object used by logger internally.
|
75
|
-
#
|
76
|
-
# Normally, we would have never needed it, but we want to
|
77
|
-
# use it as IO object for all child processes to ensure their
|
78
|
-
# output is redirected there.
|
79
|
-
#
|
80
|
-
# It is only used in debug level, in other cases output is suppressed.
|
81
|
-
#
|
82
|
-
# @api private
|
83
|
-
#
|
84
|
-
def io
|
85
|
-
@logger.instance_variable_get(:@logdev).instance_variable_get(:@dev)
|
86
|
-
end
|
87
|
-
|
88
|
-
#
|
89
|
-
# Marks code as deprecated with replacement.
|
90
|
-
#
|
91
|
-
# @param [String] old
|
92
|
-
# @param [String] new
|
93
|
-
#
|
94
|
-
def deprecate(old, new)
|
95
|
-
warn "[DEPRECATION] #{old} is deprecated. Use #{new} instead."
|
96
|
-
end
|
97
|
-
|
98
|
-
private
|
99
|
-
|
100
|
-
def create_logger(output)
|
101
|
-
logger = ::Logger.new(output)
|
102
|
-
logger.progname = 'Webdrivers'
|
103
|
-
logger.level = ($DEBUG ? DEBUG : WARN)
|
104
|
-
logger.formatter = proc do |severity, time, progname, msg|
|
105
|
-
"#{time.strftime('%F %T')} #{severity} #{progname} #{msg}\n"
|
106
|
-
end
|
107
|
-
|
108
|
-
logger
|
17
|
+
super('Webdrivers')
|
109
18
|
end
|
110
19
|
end
|
111
20
|
end
|
data/lib/webdrivers/version.rb
CHANGED
@@ -5,13 +5,7 @@ require 'spec_helper'
|
|
5
5
|
describe Webdrivers::EdgeFinder do
|
6
6
|
let(:edge_finder) { described_class }
|
7
7
|
|
8
|
-
before
|
9
|
-
if Selenium::WebDriver::VERSION[0].to_i < 4
|
10
|
-
skip 'The current selenium-webdriver does not include Chromium based Edge support'
|
11
|
-
elsif Webdrivers::System.platform == 'linux'
|
12
|
-
skip 'Edge is not yet supported on Linux'
|
13
|
-
end
|
14
|
-
end
|
8
|
+
before { skip 'Edge is not yet supported on Linux' if Webdrivers::System.platform == 'linux' }
|
15
9
|
|
16
10
|
context 'when the user relies on the gem to figure out the location of Edge' do
|
17
11
|
it 'determines the location correctly based on the current OS' do
|
@@ -5,16 +5,11 @@ require 'spec_helper'
|
|
5
5
|
describe Webdrivers::Edgedriver do
|
6
6
|
let(:edgedriver) { described_class }
|
7
7
|
|
8
|
-
before
|
9
|
-
if
|
10
|
-
|
11
|
-
elsif Webdrivers::System.platform == 'linux'
|
12
|
-
skip 'Edge is not yet supported on Linux'
|
13
|
-
end
|
8
|
+
before do
|
9
|
+
skip 'Edge is not yet supported on Linux' if Webdrivers::System.platform == 'linux'
|
10
|
+
edgedriver.remove
|
14
11
|
end
|
15
12
|
|
16
|
-
before { edgedriver.remove }
|
17
|
-
|
18
13
|
describe '#update' do
|
19
14
|
context 'when evaluating #correct_binary?' do
|
20
15
|
it 'does not download when latest version and current version match' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webdrivers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Titus Fortner
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-10-
|
13
|
+
date: 2021-10-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ffi
|
@@ -156,22 +156,16 @@ dependencies:
|
|
156
156
|
name: selenium-webdriver
|
157
157
|
requirement: !ruby/object:Gem::Requirement
|
158
158
|
requirements:
|
159
|
-
- - "
|
160
|
-
- !ruby/object:Gem::Version
|
161
|
-
version: '3.141'
|
162
|
-
- - "<"
|
159
|
+
- - "~>"
|
163
160
|
- !ruby/object:Gem::Version
|
164
|
-
version: '
|
161
|
+
version: '4.0'
|
165
162
|
type: :runtime
|
166
163
|
prerelease: false
|
167
164
|
version_requirements: !ruby/object:Gem::Requirement
|
168
165
|
requirements:
|
169
|
-
- - "
|
170
|
-
- !ruby/object:Gem::Version
|
171
|
-
version: '3.141'
|
172
|
-
- - "<"
|
166
|
+
- - "~>"
|
173
167
|
- !ruby/object:Gem::Version
|
174
|
-
version: '
|
168
|
+
version: '4.0'
|
175
169
|
description: Run Selenium tests more easily with install and updates for all supported
|
176
170
|
webdrivers.
|
177
171
|
email:
|
@@ -218,8 +212,8 @@ licenses:
|
|
218
212
|
metadata:
|
219
213
|
bug_tracker_uri: https://github.com/titusfortner/webdrivers/issues
|
220
214
|
changelog_uri: https://github.com/titusfortner/webdrivers/blob/master/CHANGELOG.md
|
221
|
-
documentation_uri: https://www.rubydoc.info/gems/webdrivers/
|
222
|
-
source_code_uri: https://github.com/titusfortner/webdrivers/tree/
|
215
|
+
documentation_uri: https://www.rubydoc.info/gems/webdrivers/5.0.0
|
216
|
+
source_code_uri: https://github.com/titusfortner/webdrivers/tree/v5.0.0
|
223
217
|
post_install_message:
|
224
218
|
rdoc_options: []
|
225
219
|
require_paths:
|