webdrivers 4.0.0 → 5.2.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.
@@ -92,6 +92,40 @@ describe Webdrivers::Geckodriver do
92
92
  msg = /Net::HTTPServerException: 404 "Not Found"/
93
93
  expect { geckodriver.update }.to raise_error(StandardError, msg)
94
94
  end
95
+
96
+ context 'when platform is Apple Sillicon' do
97
+ it 'downloads aarch64 binary' do
98
+ allow(Webdrivers::System).to receive(:platform).and_return('mac')
99
+ allow(Webdrivers::System).to receive(:apple_m1_architecture?).and_return(true)
100
+ base = 'https://github.com/mozilla/geckodriver/releases/download'
101
+ binary = 'geckodriver-v0.31.0-macos-aarch64.tar.gz'
102
+ url = "#{base}/v0.31.0/#{binary}"
103
+
104
+ allow(Webdrivers::System).to receive(:download).with(url, geckodriver.driver_path)
105
+
106
+ geckodriver.required_version = '0.31.0'
107
+ geckodriver.update
108
+
109
+ expect(Webdrivers::System).to have_received(:download).with(url, geckodriver.driver_path)
110
+ end
111
+ end
112
+
113
+ context 'when platform isn\'t Apple Sillicon' do
114
+ it 'downloads default binary' do
115
+ allow(Webdrivers::System).to receive(:platform).and_return('mac')
116
+ allow(Webdrivers::System).to receive(:apple_m1_architecture?).and_return(false)
117
+ base = 'https://github.com/mozilla/geckodriver/releases/download'
118
+ binary = 'geckodriver-v0.31.0-macos.tar.gz'
119
+ url = "#{base}/v0.31.0/#{binary}"
120
+
121
+ allow(Webdrivers::System).to receive(:download).with(url, geckodriver.driver_path)
122
+
123
+ geckodriver.required_version = '0.31.0'
124
+ geckodriver.update
125
+
126
+ expect(Webdrivers::System).to have_received(:download).with(url, geckodriver.driver_path)
127
+ end
128
+ end
95
129
  end
96
130
 
97
131
  describe '#current_version' do
@@ -112,7 +146,7 @@ testing/geckodriver in https://hg.mozilla.org/mozilla-central.
112
146
  This program is subject to the terms of the Mozilla Public License 2.0.
113
147
  You can obtain a copy of the license at https://mozilla.org/MPL/2.0/"
114
148
 
115
- allow(Webdrivers::System).to receive(:call).with("#{geckodriver.driver_path} --version").and_return return_value
149
+ allow(Webdrivers::System).to receive(:call).with(geckodriver.driver_path, '--version').and_return return_value
116
150
 
117
151
  expect(geckodriver.current_version).to eq Gem::Version.new('0.24.0')
118
152
  end
@@ -135,9 +169,10 @@ You can obtain a copy of the license at https://mozilla.org/MPL/2.0/"
135
169
  expect(File.exist?("#{Webdrivers::System.install_dir}/geckodriver.version")).to eq true
136
170
  end
137
171
 
138
- it 'does not make network call if cache is valid' do
172
+ it 'does not make network calls if cache is valid and driver exists' do
139
173
  allow(Webdrivers).to receive(:cache_time).and_return(3600)
140
174
  Webdrivers::System.cache_version('geckodriver', '0.23.0')
175
+ allow(Webdrivers::System).to receive(:exists?).and_return(true)
141
176
  allow(Webdrivers::Network).to receive(:get)
142
177
 
143
178
  expect(geckodriver.latest_version).to eq Gem::Version.new('0.23.0')
@@ -191,20 +226,20 @@ You can obtain a copy of the license at https://mozilla.org/MPL/2.0/"
191
226
  end
192
227
 
193
228
  it 'uses provided value' do
194
- begin
195
- install_dir = File.expand_path(File.join(ENV['HOME'], '.webdrivers2'))
196
- Webdrivers.install_dir = install_dir
229
+ install_dir = File.expand_path(File.join(ENV['HOME'], '.webdrivers2'))
230
+ Webdrivers.install_dir = install_dir
197
231
 
198
- expect(Webdrivers::System.install_dir).to eq install_dir
199
- ensure
200
- Webdrivers.install_dir = nil
201
- end
232
+ expect(Webdrivers::System.install_dir).to eq install_dir
233
+ ensure
234
+ Webdrivers.install_dir = nil
202
235
  end
203
236
  end
204
237
 
205
238
  describe '#driver_path' do
206
239
  it 'returns full location of binary' do
207
- expect(geckodriver.driver_path).to match("#{File.join(ENV['HOME'])}/.webdrivers/geckodriver")
240
+ expected_bin = "geckodriver#{'.exe' if Selenium::WebDriver::Platform.windows?}"
241
+ expected_path = File.absolute_path "#{File.join(ENV['HOME'])}/.webdrivers/#{expected_bin}"
242
+ expect(geckodriver.driver_path).to eq(expected_path)
208
243
  end
209
244
  end
210
245
  end
@@ -6,6 +6,10 @@ describe Webdrivers::IEdriver do
6
6
  let(:iedriver) { described_class }
7
7
 
8
8
  before do
9
+ if ENV['CI'] && !Selenium::WebDriver::Platform.windows?
10
+ skip('Only run IE tests on Windows on CI because rate limiting')
11
+ end
12
+
9
13
  iedriver.remove
10
14
  iedriver.required_version = nil
11
15
  end
@@ -69,7 +73,7 @@ describe Webdrivers::IEdriver do
69
73
  it 'raises ConnectionError if offline' do
70
74
  allow(Net::HTTP).to receive(:get_response).and_raise(SocketError)
71
75
 
72
- msg = %r{Can not reach https://selenium-release.storage.googleapis.com/}
76
+ msg = %r{Can not reach https://api.github.com/repos/seleniumhq/selenium/releases}
73
77
  expect { iedriver.update }.to raise_error(Webdrivers::ConnectionError, msg)
74
78
  end
75
79
  end
@@ -87,7 +91,7 @@ describe Webdrivers::IEdriver do
87
91
 
88
92
  return_value = 'something IEDriverServer.exe 3.5.1 something else'
89
93
 
90
- allow(Webdrivers::System).to receive(:call).with("#{iedriver.driver_path} --version").and_return return_value
94
+ allow(Webdrivers::System).to receive(:call).with(iedriver.driver_path, '--version').and_return return_value
91
95
 
92
96
  expect(iedriver.current_version).to eq Gem::Version.new('3.5.1')
93
97
  end
@@ -109,15 +113,17 @@ describe Webdrivers::IEdriver do
109
113
  end
110
114
 
111
115
  it 'creates cached file' do
112
- allow(Webdrivers::Network).to receive(:get).and_return('3.4.0')
116
+ json = '[{"assets": [{"name":"IEDriverServer_Win32_3.150.0.zip"}]}]'
117
+ allow(Webdrivers::Network).to receive(:get).and_return(json)
113
118
 
114
119
  iedriver.latest_version
115
120
  expect(File.exist?("#{Webdrivers::System.install_dir}/IEDriverServer.version")).to eq true
116
121
  end
117
122
 
118
- it 'does not make network call if cache is valid' do
123
+ it 'does not make network calls if cache is valid and driver exists' do
119
124
  allow(Webdrivers).to receive(:cache_time).and_return(3600)
120
125
  Webdrivers::System.cache_version('IEDriverServer', '3.4.0')
126
+ allow(Webdrivers::System).to receive(:exists?).and_return(true)
121
127
  allow(Webdrivers::Network).to receive(:get)
122
128
 
123
129
  expect(iedriver.latest_version).to eq Gem::Version.new('3.4.0')
@@ -173,20 +179,19 @@ describe Webdrivers::IEdriver do
173
179
  end
174
180
 
175
181
  it 'uses provided value' do
176
- begin
177
- install_dir = File.expand_path(File.join(ENV['HOME'], '.webdrivers2'))
178
- Webdrivers.install_dir = install_dir
182
+ install_dir = File.expand_path(File.join(ENV['HOME'], '.webdrivers2'))
183
+ Webdrivers.install_dir = install_dir
179
184
 
180
- expect(Webdrivers::System.install_dir).to eq install_dir
181
- ensure
182
- Webdrivers.install_dir = nil
183
- end
185
+ expect(Webdrivers::System.install_dir).to eq install_dir
186
+ ensure
187
+ Webdrivers.install_dir = nil
184
188
  end
185
189
  end
186
190
 
187
191
  describe '#driver_path' do
188
192
  it 'returns full location of binary' do
189
- expect(iedriver.driver_path).to eq("#{File.join(ENV['HOME'])}/.webdrivers/IEDriverServer.exe")
193
+ expected_path = File.absolute_path "#{File.join(ENV['HOME'])}/.webdrivers/IEDriverServer.exe"
194
+ expect(iedriver.driver_path).to eq(expected_path)
190
195
  end
191
196
  end
192
197
  end
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Webdrivers::System do
6
+ describe '#wsl_v1?' do
7
+ subject { described_class.wsl_v1? }
8
+
9
+ before do
10
+ allow(described_class).to receive(:platform).and_return(platform)
11
+ allow(File).to receive(:open).with('/proc/version').and_return(StringIO.new(wsl_proc_version_contents))
12
+ end
13
+
14
+ let(:platform) { 'linux' }
15
+ let(:wsl_proc_version_contents) { '' }
16
+
17
+ context 'when the current platform is linux and WSL version is 1' do
18
+ let(:wsl_proc_version_contents) do
19
+ 'Linux version 4.4.0-18362-Microsoft'\
20
+ '(Microsoft@Microsoft.com) (gcc version 5.4.0 (GCC) )'\
21
+ '#836-Microsoft Mon May 05 16:04:00 PST 2020'
22
+ end
23
+
24
+ it { is_expected.to eq true }
25
+ end
26
+
27
+ context 'when the current platform is linux and WSL version is 2' do
28
+ let(:wsl_proc_version_contents) do
29
+ 'Linux version 4.19.84-microsoft-standard '\
30
+ '(oe-user@oe-host) (gcc version 8.2.0 (GCC)) '\
31
+ '#1 SMP Wed Nov 13 11:44:37 UTC 2019'
32
+ end
33
+
34
+ it { is_expected.to eq false }
35
+ end
36
+
37
+ context 'when the current platform is mac' do
38
+ let(:platform) { 'mac' }
39
+
40
+ it { is_expected.to eq false }
41
+ end
42
+ end
43
+
44
+ describe '#to_win32_path' do
45
+ before { allow(described_class).to receive(:call).and_return("C:\\path\\to\\folder\n") }
46
+
47
+ it 'uses wslpath' do
48
+ described_class.to_win32_path '/c/path/to/folder'
49
+
50
+ expect(described_class).to have_received(:call).with('wslpath -w \'/c/path/to/folder\'')
51
+ end
52
+
53
+ it 'removes the trailing newline' do
54
+ expect(described_class.to_win32_path('/c/path/to/folder')).not_to end_with('\n')
55
+ end
56
+
57
+ context 'when the path is already in Windows format' do
58
+ it 'returns early' do
59
+ expect(described_class.to_win32_path('D:\\')).to eq 'D:\\'
60
+
61
+ expect(described_class).not_to have_received(:call)
62
+ end
63
+ end
64
+ end
65
+
66
+ describe '#to_wsl_path' do
67
+ before { allow(described_class).to receive(:call).and_return("/c/path/to/folder\n") }
68
+
69
+ it 'uses wslpath' do
70
+ described_class.to_wsl_path 'C:\\path\\to\\folder'
71
+
72
+ expect(described_class).to have_received(:call).with('wslpath -u \'C:\\path\\to\\folder\'')
73
+ end
74
+
75
+ it 'removes the trailing newline' do
76
+ expect(described_class.to_wsl_path('/c/path/to/folder')).not_to end_with('\n')
77
+ end
78
+ end
79
+ end
@@ -6,32 +6,38 @@ describe Webdrivers do
6
6
  describe '#cache_time' do
7
7
  before { Webdrivers::Chromedriver.remove }
8
8
 
9
- after { described_class.cache_time = 0 }
9
+ after { described_class.cache_time = nil }
10
10
 
11
- it 'does not warn if cache time is set' do
12
- described_class.cache_time = 50
11
+ context 'when cache time is not set' do
12
+ before { described_class.cache_time = nil }
13
13
 
14
- msg = /Webdrivers Driver caching is turned off in this version, but will be enabled by default in 4\.x/
15
- expect { Webdrivers::Chromedriver.update }.not_to output(msg).to_stdout_from_any_process
14
+ it 'defaults cache time to 86,400 Seconds (24 hours)' do
15
+ expect(described_class.cache_time).to eq(86_400)
16
+ end
16
17
  end
17
18
 
18
- context 'when ENV variable WD_CACHE_TIME is set and Webdrivers.cache_time is not' do
19
- before { described_class.cache_time = nil }
19
+ context 'when Webdrivers.cache_time is set' do
20
+ before { described_class.cache_time = '999' }
20
21
 
21
- it 'uses cache time value from ENV variable' do
22
- allow(ENV).to receive(:[]).with('WD_CACHE_TIME').and_return('999')
23
- expect(described_class.cache_time).to be(999)
22
+ it 'returns user defined cache time' do
23
+ expect(described_class.cache_time).to eq(999)
24
24
  end
25
25
 
26
26
  it 'returns cache time as an Integer' do
27
- allow(ENV).to receive(:[]).with('WD_CACHE_TIME').and_return('999')
28
27
  expect(described_class.cache_time).to be_an_instance_of(Integer)
29
28
  end
30
29
  end
31
30
 
32
- context 'when Webdrivers.cache_time is set' do
31
+ context 'when ENV variable WD_CACHE_TIME is set' do
32
+ before { described_class.cache_time = 3600 }
33
+
34
+ it 'uses cache time value from Webdrivers.cache_time over the ENV variable value' do
35
+ allow(ENV).to receive(:[]).with('WD_CACHE_TIME').and_return(900)
36
+ expect(described_class.cache_time).to be(3600)
37
+ end
38
+
33
39
  it 'returns cache time as an Integer' do
34
- described_class.cache_time = '999'
40
+ allow(ENV).to receive(:fetch).with('WD_CACHE_TIME', 3600).and_return('999')
35
41
  expect(described_class.cache_time).to be_an_instance_of(Integer)
36
42
  end
37
43
  end
@@ -43,25 +49,31 @@ describe Webdrivers do
43
49
  end
44
50
 
45
51
  it 'uses provided value' do
46
- begin
47
- install_dir = File.expand_path(File.join(ENV['HOME'], '.webdrivers2'))
48
- described_class.install_dir = install_dir
52
+ install_dir = File.expand_path(File.join(ENV['HOME'], '.webdrivers2'))
53
+ described_class.install_dir = install_dir
49
54
 
50
- expect(described_class.install_dir).to eq install_dir
55
+ expect(described_class.install_dir).to eq install_dir
56
+ ensure
57
+ described_class.install_dir = nil
58
+ end
59
+
60
+ context 'when ENV variable WD_INSTALL_DIR is set and Webdrivers.install_dir is not' do
61
+ it 'uses path from the ENV variable' do
62
+ described_class.install_dir = nil
63
+ allow(ENV).to receive(:[]).with('WD_INSTALL_DIR').and_return('custom_dir')
64
+ expect(described_class.install_dir).to be('custom_dir')
51
65
  ensure
52
66
  described_class.install_dir = nil
53
67
  end
54
68
  end
55
69
 
56
- context 'when ENV variable WD_INSTALL_DIR is set and Webdrivers.install_dir is not' do
57
- it 'uses path from the ENV variable' do
58
- begin
59
- described_class.install_dir = nil
60
- allow(ENV).to receive(:[]).with('WD_INSTALL_DIR').and_return('custom_dir')
61
- expect(described_class.install_dir).to be('custom_dir')
62
- ensure
63
- described_class.install_dir = nil
64
- end
70
+ context 'when both ENV variable WD_INSTALL_DIR and Webdrivers.install_dir are set' do
71
+ it 'uses path from Webdrivers.install_dir' do
72
+ described_class.install_dir = 'my_install_dir_path'
73
+ allow(ENV).to receive(:[]).with('WD_INSTALL_DIR').and_return('my_env_path')
74
+ expect(described_class.install_dir).to be('my_install_dir_path')
75
+ ensure
76
+ described_class.install_dir = nil
65
77
  end
66
78
  end
67
79
  end
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.0.0
4
+ version: 5.2.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: 2019-05-28 00:00:00.000000000 Z
13
+ date: 2022-09-29 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: ffi
@@ -60,14 +60,28 @@ dependencies:
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '0.66'
63
+ version: '0.89'
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: '0.66'
70
+ version: '0.89'
71
+ - !ruby/object:Gem::Dependency
72
+ name: rubocop-packaging
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: 0.5.0
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: 0.5.0
71
85
  - !ruby/object:Gem::Dependency
72
86
  name: rubocop-performance
73
87
  requirement: !ruby/object:Gem::Requirement
@@ -88,14 +102,14 @@ dependencies:
88
102
  requirements:
89
103
  - - "~>"
90
104
  - !ruby/object:Gem::Version
91
- version: '1.32'
105
+ version: '1.42'
92
106
  type: :development
93
107
  prerelease: false
94
108
  version_requirements: !ruby/object:Gem::Requirement
95
109
  requirements:
96
110
  - - "~>"
97
111
  - !ruby/object:Gem::Version
98
- version: '1.32'
112
+ version: '1.42'
99
113
  - !ruby/object:Gem::Dependency
100
114
  name: simplecov
101
115
  requirement: !ruby/object:Gem::Requirement
@@ -128,30 +142,30 @@ dependencies:
128
142
  name: rubyzip
129
143
  requirement: !ruby/object:Gem::Requirement
130
144
  requirements:
131
- - - "~>"
145
+ - - ">="
132
146
  - !ruby/object:Gem::Version
133
- version: '1.0'
147
+ version: 1.3.0
134
148
  type: :runtime
135
149
  prerelease: false
136
150
  version_requirements: !ruby/object:Gem::Requirement
137
151
  requirements:
138
- - - "~>"
152
+ - - ">="
139
153
  - !ruby/object:Gem::Version
140
- version: '1.0'
154
+ version: 1.3.0
141
155
  - !ruby/object:Gem::Dependency
142
156
  name: selenium-webdriver
143
157
  requirement: !ruby/object:Gem::Requirement
144
158
  requirements:
145
159
  - - "~>"
146
160
  - !ruby/object:Gem::Version
147
- version: '3.0'
161
+ version: '4.0'
148
162
  type: :runtime
149
163
  prerelease: false
150
164
  version_requirements: !ruby/object:Gem::Requirement
151
165
  requirements:
152
166
  - - "~>"
153
167
  - !ruby/object:Gem::Version
154
- version: '3.0'
168
+ version: '4.0'
155
169
  description: Run Selenium tests more easily with install and updates for all supported
156
170
  webdrivers.
157
171
  email:
@@ -161,21 +175,16 @@ executables: []
161
175
  extensions: []
162
176
  extra_rdoc_files: []
163
177
  files:
164
- - ".github/ISSUE_TEMPLATE.md"
165
- - ".gitignore"
166
- - ".rubocop.yml"
167
- - ".travis.yml"
168
178
  - CHANGELOG.md
169
- - Gemfile
170
179
  - LICENSE.txt
171
180
  - README.md
172
- - Rakefile
173
- - appveyor.yml
174
181
  - lib/webdrivers.rb
175
182
  - lib/webdrivers/Rakefile
176
183
  - lib/webdrivers/chrome_finder.rb
177
184
  - lib/webdrivers/chromedriver.rb
178
185
  - lib/webdrivers/common.rb
186
+ - lib/webdrivers/edge_finder.rb
187
+ - lib/webdrivers/edgedriver.rb
179
188
  - lib/webdrivers/geckodriver.rb
180
189
  - lib/webdrivers/iedriver.rb
181
190
  - lib/webdrivers/logger.rb
@@ -183,20 +192,28 @@ files:
183
192
  - lib/webdrivers/railtie.rb
184
193
  - lib/webdrivers/system.rb
185
194
  - lib/webdrivers/tasks/chromedriver.rake
195
+ - lib/webdrivers/tasks/edgedriver.rake
186
196
  - lib/webdrivers/tasks/geckodriver.rake
187
197
  - lib/webdrivers/tasks/iedriver.rake
188
198
  - lib/webdrivers/version.rb
189
199
  - spec/spec_helper.rb
200
+ - spec/webdrivers/chrome_finder_spec.rb
190
201
  - spec/webdrivers/chromedriver_spec.rb
202
+ - spec/webdrivers/edge_finder_spec.rb
203
+ - spec/webdrivers/edgedriver_spec.rb
191
204
  - spec/webdrivers/geckodriver_spec.rb
192
205
  - spec/webdrivers/i_edriver_spec.rb
206
+ - spec/webdrivers/system_spec.rb
193
207
  - spec/webdrivers/webdrivers_spec.rb
194
208
  - spec/webdrivers_proxy_support_spec.rb
195
- - webdrivers.gemspec
196
209
  homepage: https://github.com/titusfortner/webdrivers
197
210
  licenses:
198
211
  - MIT
199
- metadata: {}
212
+ metadata:
213
+ bug_tracker_uri: https://github.com/titusfortner/webdrivers/issues
214
+ changelog_uri: https://github.com/titusfortner/webdrivers/blob/master/CHANGELOG.md
215
+ documentation_uri: https://www.rubydoc.info/gems/webdrivers/5.2.0
216
+ source_code_uri: https://github.com/titusfortner/webdrivers/tree/v5.2.0
200
217
  post_install_message:
201
218
  rdoc_options: []
202
219
  require_paths:
@@ -205,15 +222,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
205
222
  requirements:
206
223
  - - ">="
207
224
  - !ruby/object:Gem::Version
208
- version: '0'
225
+ version: 2.6.0
209
226
  required_rubygems_version: !ruby/object:Gem::Requirement
210
227
  requirements:
211
228
  - - ">="
212
229
  - !ruby/object:Gem::Version
213
230
  version: '0'
214
231
  requirements: []
215
- rubygems_version: 3.0.3
232
+ rubygems_version: 3.3.22
216
233
  signing_key:
217
234
  specification_version: 4
218
235
  summary: Easy download and use of browser drivers.
219
- test_files: []
236
+ test_files:
237
+ - spec/spec_helper.rb
238
+ - spec/webdrivers/chrome_finder_spec.rb
239
+ - spec/webdrivers/edge_finder_spec.rb
240
+ - spec/webdrivers/webdrivers_spec.rb
241
+ - spec/webdrivers/system_spec.rb
242
+ - spec/webdrivers/edgedriver_spec.rb
243
+ - spec/webdrivers/i_edriver_spec.rb
244
+ - spec/webdrivers/geckodriver_spec.rb
245
+ - spec/webdrivers/chromedriver_spec.rb
246
+ - spec/webdrivers_proxy_support_spec.rb
@@ -1,14 +0,0 @@
1
- #### Summary
2
- Short summary of the bug or feature request.
3
-
4
- #### Debug Info
5
- Please provide the following information for bug reports:
6
-
7
- * Operating system / CI Environment:
8
- * Browser and version:
9
-
10
- #### Expected Behavior
11
- What you expect to happen.
12
-
13
- #### Actual Behavior
14
- What is actually happening: Error message, stack trace, DEBUG log if applicable (set `Webdrivers.logger.level = :DEBUG` after you require webdrivers)
data/.gitignore DELETED
@@ -1,7 +0,0 @@
1
- *.gem
2
- .bundle
3
- Gemfile.lock
4
- pkg/*
5
- chromedriver.log
6
- /.idea/
7
- coverage/
data/.rubocop.yml DELETED
@@ -1,45 +0,0 @@
1
- AllCops:
2
- TargetRubyVersion: 2.4.6
3
-
4
- require:
5
- - rubocop-rspec
6
- - rubocop-performance
7
-
8
- Layout/SpaceInsideHashLiteralBraces:
9
- EnforcedStyle: no_space
10
-
11
- Layout/EndOfLine:
12
- EnforcedStyle: lf
13
-
14
- Metrics/LineLength:
15
- Max: 120
16
- IgnoredPatterns:
17
- - '\s+# rubocop:disable'
18
-
19
- Metrics/MethodLength:
20
- Max: 20
21
-
22
- Metrics/BlockLength:
23
- Exclude:
24
- - 'spec/**/*'
25
- - 'lib/webdrivers/tasks/*.rake'
26
-
27
- Metrics/ClassLength:
28
- Max: 116
29
-
30
- Metrics/CyclomaticComplexity:
31
- Max: 8
32
-
33
- Metrics/AbcSize:
34
- Max: 16
35
- Exclude:
36
- - 'lib/webdrivers/chromedriver.rb'
37
-
38
- Style/Documentation:
39
- Enabled: false
40
-
41
- RSpec/ExampleLength:
42
- Enabled: false
43
-
44
- RSpec/MultipleExpectations:
45
- Enabled: false
data/.travis.yml DELETED
@@ -1,24 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- addons:
4
- apt:
5
- packages:
6
- - chromium-browser
7
- - libgconf-2-4
8
- chrome: stable
9
- script: bundle exec rake $RAKE_TASK
10
- matrix:
11
- include:
12
- - rvm: 2.6.3
13
- env: RAKE_TASK=spec
14
- - rvm: 2.5.5
15
- env: RAKE_TASK=spec
16
- - rvm: 2.4.6
17
- env: RAKE_TASK=spec
18
- - rvm: 2.4.6
19
- os: osx
20
- env: RAKE_TASK=spec
21
- - rvm: 2.4.6
22
- env: RAKE_TASK=rubocop
23
- - rvm: jruby-9.2.7.0
24
- env: RAKE_TASK=spec
data/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source 'https://rubygems.org'
4
-
5
- # Specify your gem's dependencies in webdrivers.gemspec
6
- gemspec
data/Rakefile DELETED
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
5
- require 'rubocop/rake_task'
6
-
7
- RuboCop::RakeTask.new
8
-
9
- RSpec::Core::RakeTask.new(:spec)
10
-
11
- task default: %i[rubocop spec]
data/appveyor.yml DELETED
@@ -1,23 +0,0 @@
1
- build: off
2
- cache:
3
- - vendor/bundle
4
- environment:
5
- matrix:
6
- - RUBY_VERSION: 24
7
- RAKE_TASK: spec
8
- - RUBY_VERSION: 24
9
- RAKE_TASK: rubocop
10
- - RUBY_VERSION: 25
11
- RAKE_TASK: spec
12
- - RUBY_VERSION: 26
13
- RAKE_TASK: spec
14
- install:
15
- - set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
16
- - bundle config --local path vendor/bundle
17
- - bundle install
18
- before_test:
19
- - ruby -v
20
- - gem -v
21
- - bundle -v
22
- test_script:
23
- - bundle exec rake %RAKE_TASK%