webdrivers 3.7.1 → 3.7.2
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/.gitignore +7 -6
- data/.rubocop.yml +19 -0
- data/.travis.yml +6 -4
- data/CHANGELOG.md +5 -0
- data/Gemfile +4 -4
- data/LICENSE.txt +22 -22
- data/README.md +69 -24
- data/Rakefile +9 -6
- data/lib/webdrivers.rb +8 -10
- data/lib/webdrivers/chromedriver.rb +26 -19
- data/lib/webdrivers/common.rb +36 -35
- data/lib/webdrivers/geckodriver.rb +8 -9
- data/lib/webdrivers/iedriver.rb +6 -7
- data/lib/webdrivers/logger.rb +109 -109
- data/lib/webdrivers/mswebdriver.rb +8 -9
- data/lib/webdrivers/selenium.rb +29 -29
- data/spec/spec_helper.rb +5 -2
- data/spec/{chromedriver_spec.rb → webdrivers/chromedriver_spec.rb} +19 -8
- data/spec/{geckodriver_spec.rb → webdrivers/geckodriver_spec.rb} +5 -7
- data/spec/{iedriver_spec.rb → webdrivers/i_edriver_spec.rb} +6 -8
- data/spec/{mswebdriver_spec.rb → webdrivers/ms_webdriver_spec.rb} +4 -6
- data/spec/webdrivers_proxy_support_spec.rb +45 -0
- data/webdrivers.gemspec +4 -3
- metadata +51 -8
- data/spec/proxy_support_spec.rb +0 -45
@@ -1,8 +1,7 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Webdrivers::Geckodriver do
|
4
|
-
|
5
|
-
let(:geckodriver) { Webdrivers::Geckodriver }
|
4
|
+
let(:geckodriver) { described_class }
|
6
5
|
|
7
6
|
it 'raises exception if unable to get latest geckodriver and no geckodriver present' do
|
8
7
|
geckodriver.remove
|
@@ -14,7 +13,7 @@ describe Webdrivers::Geckodriver do
|
|
14
13
|
it 'uses found version of geckodriver if latest release unable to be found' do
|
15
14
|
geckodriver.download
|
16
15
|
allow(geckodriver).to receive(:desired_version).and_return(nil)
|
17
|
-
expect(geckodriver.update).to match(
|
16
|
+
expect(geckodriver.update).to match(%r{\.webdrivers/geckodriver})
|
18
17
|
end
|
19
18
|
|
20
19
|
it 'finds latest version' do
|
@@ -51,12 +50,11 @@ describe Webdrivers::Geckodriver do
|
|
51
50
|
before { allow(geckodriver).to receive(:site_available?).and_return(false) }
|
52
51
|
|
53
52
|
it 'raises exception finding latest version' do
|
54
|
-
expect { geckodriver.desired_version }.to raise_error(StandardError,
|
53
|
+
expect { geckodriver.desired_version }.to raise_error(StandardError, 'Can not reach site')
|
55
54
|
end
|
56
55
|
|
57
56
|
it 'raises exception downloading' do
|
58
|
-
expect { geckodriver.download }.to raise_error(StandardError,
|
57
|
+
expect { geckodriver.download }.to raise_error(StandardError, 'Can not reach site')
|
59
58
|
end
|
60
59
|
end
|
61
|
-
|
62
60
|
end
|
@@ -1,12 +1,11 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Webdrivers::IEdriver do
|
4
|
-
|
5
|
-
let(:iedriver) { Webdrivers::IEdriver }
|
4
|
+
let(:iedriver) { described_class }
|
6
5
|
|
7
6
|
it 'finds latest version' do
|
8
|
-
old_version = Gem::Version.new(
|
9
|
-
future_version = Gem::Version.new(
|
7
|
+
old_version = Gem::Version.new('3.12.0')
|
8
|
+
future_version = Gem::Version.new('4.0')
|
10
9
|
desired_version = iedriver.desired_version
|
11
10
|
|
12
11
|
expect(desired_version).to be > old_version
|
@@ -27,12 +26,11 @@ describe Webdrivers::IEdriver do
|
|
27
26
|
before { allow(iedriver).to receive(:site_available?).and_return(false) }
|
28
27
|
|
29
28
|
it 'raises exception finding latest version' do
|
30
|
-
expect {iedriver.latest_version}.to raise_error(StandardError,
|
29
|
+
expect { iedriver.latest_version }.to raise_error(StandardError, 'Can not reach site')
|
31
30
|
end
|
32
31
|
|
33
32
|
it 'raises exception downloading' do
|
34
|
-
expect {iedriver.download}.to raise_error(StandardError,
|
33
|
+
expect { iedriver.download }.to raise_error(StandardError, 'Can not reach site')
|
35
34
|
end
|
36
35
|
end
|
37
|
-
|
38
36
|
end
|
@@ -1,8 +1,7 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Webdrivers::MSWebdriver do
|
4
|
-
|
5
|
-
let(:mswebdriver) { Webdrivers::MSWebdriver }
|
4
|
+
let(:mswebdriver) { described_class }
|
6
5
|
|
7
6
|
it 'downloads mswebdriver' do
|
8
7
|
mswebdriver.remove
|
@@ -12,15 +11,14 @@ describe Webdrivers::MSWebdriver do
|
|
12
11
|
|
13
12
|
it 'removes mswebdriver' do
|
14
13
|
mswebdriver.remove
|
15
|
-
expect(File.exist?(mswebdriver.send
|
14
|
+
expect(File.exist?(mswebdriver.send(:binary))).to be false
|
16
15
|
end
|
17
16
|
|
18
17
|
context 'when offline' do
|
19
18
|
before { allow(mswebdriver).to receive(:site_available?).and_return(false) }
|
20
19
|
|
21
20
|
it 'raises exception downloading' do
|
22
|
-
expect { mswebdriver.download }.to raise_error(StandardError,
|
21
|
+
expect { mswebdriver.download }.to raise_error(StandardError, 'Can not reach site')
|
23
22
|
end
|
24
23
|
end
|
25
|
-
|
26
24
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class FakeDriver < Webdrivers::Common
|
4
|
+
def self.http_object
|
5
|
+
http
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
describe Webdrivers do
|
10
|
+
let(:http_object) { FakeDriver.http_object }
|
11
|
+
|
12
|
+
before do
|
13
|
+
described_class.proxy_addr = nil
|
14
|
+
described_class.proxy_port = nil
|
15
|
+
described_class.proxy_user = nil
|
16
|
+
described_class.proxy_pass = nil
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'allows the proxy values to be set via configuration' do
|
20
|
+
described_class.configure do |config|
|
21
|
+
config.proxy_addr = 'proxy_addr'
|
22
|
+
config.proxy_port = '8888'
|
23
|
+
config.proxy_user = 'proxy_user'
|
24
|
+
config.proxy_pass = 'proxy_pass'
|
25
|
+
end
|
26
|
+
|
27
|
+
expect(described_class.proxy_addr).to eql 'proxy_addr'
|
28
|
+
expect(described_class.proxy_port).to eql '8888'
|
29
|
+
expect(described_class.proxy_user).to eql 'proxy_user'
|
30
|
+
expect(described_class.proxy_pass).to eql 'proxy_pass'
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'uses the Proxy when the proxy_addr is set' do
|
34
|
+
described_class.configure do |config|
|
35
|
+
config.proxy_addr = 'proxy_addr'
|
36
|
+
config.proxy_port = '8080'
|
37
|
+
end
|
38
|
+
|
39
|
+
expect(http_object.instance_variable_get('@is_proxy_class')).to be true
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'does not use the Proxy when proxy is not configured' do
|
43
|
+
expect(http_object.instance_variable_get('@is_proxy_class')).to be false
|
44
|
+
end
|
45
|
+
end
|
data/webdrivers.gemspec
CHANGED
@@ -1,10 +1,8 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
|
3
1
|
$LOAD_PATH.push File.expand_path('../lib', __dir__)
|
4
2
|
|
5
3
|
Gem::Specification.new do |s|
|
6
4
|
s.name = 'webdrivers'
|
7
|
-
s.version = '3.7.
|
5
|
+
s.version = '3.7.2'
|
8
6
|
s.authors = ['Titus Fortner', 'Lakshya Kapoor']
|
9
7
|
s.email = %w[titusfortner@gmail.com kapoorlakshya@gmail.com]
|
10
8
|
s.homepage = 'https://github.com/titusfortner/webdrivers'
|
@@ -19,6 +17,9 @@ Gem::Specification.new do |s|
|
|
19
17
|
|
20
18
|
s.add_development_dependency 'rake', '~> 10.0'
|
21
19
|
s.add_development_dependency 'rspec', '~> 3.0'
|
20
|
+
s.add_development_dependency 'rubocop', '~>0.66'
|
21
|
+
s.add_development_dependency 'rubocop-rspec', '~>1.32'
|
22
|
+
s.add_development_dependency 'simplecov', '~>0.16'
|
22
23
|
|
23
24
|
s.add_runtime_dependency 'net_http_ssl_fix'
|
24
25
|
s.add_runtime_dependency 'nokogiri', '~> 1.6'
|
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: 3.7.
|
4
|
+
version: 3.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Titus Fortner
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-
|
12
|
+
date: 2019-04-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -39,6 +39,48 @@ dependencies:
|
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '3.0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rubocop
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0.66'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0.66'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: rubocop-rspec
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '1.32'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '1.32'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: simplecov
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - "~>"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0.16'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - "~>"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0.16'
|
42
84
|
- !ruby/object:Gem::Dependency
|
43
85
|
name: net_http_ssl_fix
|
44
86
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,6 +147,7 @@ extensions: []
|
|
105
147
|
extra_rdoc_files: []
|
106
148
|
files:
|
107
149
|
- ".gitignore"
|
150
|
+
- ".rubocop.yml"
|
108
151
|
- ".travis.yml"
|
109
152
|
- CHANGELOG.md
|
110
153
|
- Gemfile
|
@@ -119,12 +162,12 @@ files:
|
|
119
162
|
- lib/webdrivers/logger.rb
|
120
163
|
- lib/webdrivers/mswebdriver.rb
|
121
164
|
- lib/webdrivers/selenium.rb
|
122
|
-
- spec/chromedriver_spec.rb
|
123
|
-
- spec/geckodriver_spec.rb
|
124
|
-
- spec/iedriver_spec.rb
|
125
|
-
- spec/mswebdriver_spec.rb
|
126
|
-
- spec/proxy_support_spec.rb
|
127
165
|
- spec/spec_helper.rb
|
166
|
+
- spec/webdrivers/chromedriver_spec.rb
|
167
|
+
- spec/webdrivers/geckodriver_spec.rb
|
168
|
+
- spec/webdrivers/i_edriver_spec.rb
|
169
|
+
- spec/webdrivers/ms_webdriver_spec.rb
|
170
|
+
- spec/webdrivers_proxy_support_spec.rb
|
128
171
|
- webdrivers.gemspec
|
129
172
|
homepage: https://github.com/titusfortner/webdrivers
|
130
173
|
licenses:
|
@@ -145,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
188
|
- !ruby/object:Gem::Version
|
146
189
|
version: '0'
|
147
190
|
requirements: []
|
148
|
-
rubygems_version: 3.0.
|
191
|
+
rubygems_version: 3.0.3
|
149
192
|
signing_key:
|
150
193
|
specification_version: 4
|
151
194
|
summary: Easy download and use of browser drivers.
|
data/spec/proxy_support_spec.rb
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
class FakeDriver < Webdrivers::Common
|
4
|
-
def self.http_object
|
5
|
-
self.http
|
6
|
-
end
|
7
|
-
end
|
8
|
-
|
9
|
-
describe "Support for proxies" do
|
10
|
-
let(:http_object) { FakeDriver.http_object }
|
11
|
-
|
12
|
-
before do
|
13
|
-
Webdrivers.proxy_addr = nil
|
14
|
-
Webdrivers.proxy_port = nil
|
15
|
-
Webdrivers.proxy_user = nil
|
16
|
-
Webdrivers.proxy_pass = nil
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'should allow the proxy values to be set via configuration' do
|
20
|
-
Webdrivers.configure do |config|
|
21
|
-
config.proxy_addr = 'proxy_addr'
|
22
|
-
config.proxy_port = '8888'
|
23
|
-
config.proxy_user = 'proxy_user'
|
24
|
-
config.proxy_pass = 'proxy_pass'
|
25
|
-
end
|
26
|
-
|
27
|
-
expect(Webdrivers.proxy_addr).to eql 'proxy_addr'
|
28
|
-
expect(Webdrivers.proxy_port).to eql '8888'
|
29
|
-
expect(Webdrivers.proxy_user).to eql 'proxy_user'
|
30
|
-
expect(Webdrivers.proxy_pass).to eql 'proxy_pass'
|
31
|
-
end
|
32
|
-
|
33
|
-
it 'should use the Proxy when the proxy_addr is set' do
|
34
|
-
Webdrivers.configure do |config|
|
35
|
-
config.proxy_addr = 'proxy_addr'
|
36
|
-
config.proxy_port = '8080'
|
37
|
-
end
|
38
|
-
|
39
|
-
expect(http_object.instance_variable_get('@is_proxy_class')).to be true
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'should not use the Proxy when proxy is not configured' do
|
43
|
-
expect(http_object.instance_variable_get('@is_proxy_class')).to be false
|
44
|
-
end
|
45
|
-
end
|