onlyoffice_webdriver_wrapper 0.6.0 → 0.8.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 01e7c8a03fdec74828c4f660d287be5729f56f29ce49b91f74005e29a666942e
4
- data.tar.gz: bd3f969c07b3c5043b6329c07fff8e02d9576dfa373eef527af6738db1be9acd
3
+ metadata.gz: dc8c8e7641874b04e3da185c8dc14cfe2c1fa247cd7beb33a0688bcec75da732
4
+ data.tar.gz: f43f00a65a85ce30ac3423a528a25ccbfd071f5a2da1e185024372e1e3c983c7
5
5
  SHA512:
6
- metadata.gz: e5a02e944fd3b617209598f54274dcec25776695ed050576e9f7b92371de8c8bb72632ef8460c1bf0390a338f0e910f8610d590b59b449f29c08a93618440e99
7
- data.tar.gz: dd7151ef729280ba654f37a5c4842f62b10c3d6c4b47f64df0e02e9a0d9658ad1a8c7c6c8ad4e44b2b9a87ea2a1e4092913ee290165006dd5ad00745f7bbd755
6
+ metadata.gz: 27085b22730ab40f23cc1144a20224929341c18e75c643115d7909834e21fceb1a845830fffdb6031e427fcac8b95ad276ba46dc809021584c9fe7323d575113
7
+ data.tar.gz: e4deb7908451d6062aaab2a458cb0bc5ce92b19d7a3bb09aca7c6de59c4c44422d5fbdecaa3b7f5e75b74be6fa9e308aa9346d45049a0dad406c68828b1cdfa0
@@ -1,21 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative 'chrome_helper/chrome_version_helper'
4
+
3
5
  module OnlyofficeWebdriverWrapper
4
6
  # Class for working with Chrome
5
7
  module ChromeHelper
8
+ include ChromeVersionHelper
9
+
6
10
  DEFAULT_CHROME_SWITCHES = %w[--kiosk-printing
7
11
  --disable-popup-blocking
8
12
  --disable-infobars
9
13
  --no-sandbox
10
14
  test-type].freeze
11
15
 
12
- # @return [String] path to chromedriver
13
- def chromedriver_path
14
- driver_name = 'bin/chromedriver'
15
- driver_name = 'bin/chromedriver_mac' if OSHelper.mac?
16
- File.join(File.dirname(__FILE__), driver_name)
17
- end
18
-
19
16
  def chrome_service
20
17
  @chrome_service ||= Selenium::WebDriver::Chrome::Service.new(path: chromedriver_path)
21
18
  end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OnlyofficeWebdriverWrapper
4
+ # Class for getting chrome version
5
+ module ChromeVersionHelper
6
+ # @return [Integer] current default chrome version
7
+ CURRENT_DEFAULT_CHROME_VERSION = 87
8
+
9
+ # @return [Gem::Version] unknown chrome version
10
+ def unknown_chrome_version
11
+ Gem::Version.new('0.0.0.0')
12
+ end
13
+
14
+ # @return [Gem::Version] version of chrome. Return unknown_chrome_version if cannot get
15
+ def chrome_version(chrome_command = 'google-chrome')
16
+ return @chrome_version if @chrome_version
17
+
18
+ version_string = `#{chrome_command} --product-version`
19
+ OnlyofficeLoggerHelper.log("Chrome Version is: #{version_string}")
20
+ @chrome_version = Gem::Version.new(version_string)
21
+ rescue StandardError => e
22
+ OnlyofficeLoggerHelper.log("Cannot get chrome version because of: #{e}")
23
+ @chrome_version = unknown_chrome_version
24
+ end
25
+
26
+ # @return [String] path to chromedriver
27
+ def chromedriver_path
28
+ return default_mac if OSHelper.mac?
29
+ return default_linux if chrome_version == unknown_chrome_version
30
+
31
+ chromedriver_path_cur_chrome
32
+ end
33
+
34
+ private
35
+
36
+ # @return [String] default mac chromedriver
37
+ def default_mac
38
+ "#{Dir.pwd}/lib/onlyoffice_webdriver_wrapper/helpers/bin/chromedriver_mac"
39
+ end
40
+
41
+ # @return [String] default linux chromedriver
42
+ def default_linux
43
+ "#{Dir.pwd}/lib/onlyoffice_webdriver_wrapper/helpers/bin/chromedriver_linux_#{CURRENT_DEFAULT_CHROME_VERSION}"
44
+ end
45
+
46
+ # @return [String] path to chromedriver of version
47
+ def chromedriver_path_cur_chrome
48
+ file_path = "#{Dir.pwd}/lib/onlyoffice_webdriver_wrapper/helpers/bin/chromedriver_linux_#{chrome_version.segments.first}"
49
+
50
+ return file_path if File.exist?(file_path)
51
+
52
+ OnlyofficeLoggerHelper.log("Cannot file chromedriver by version #{chrome_version.version}. Using Default")
53
+ default_linux
54
+ end
55
+ end
56
+ end
@@ -21,8 +21,8 @@ module OnlyofficeWebdriverWrapper
21
21
  # @return [True, False] is video should be recorded
22
22
  attr_reader :record_video
23
23
 
24
- def initialize(resolution_x = 1680,
25
- resolution_y = 1050,
24
+ def initialize(resolution_x: 1680,
25
+ resolution_y: 1050,
26
26
  record_video: true)
27
27
  @resolution_x = resolution_x
28
28
  @resolution_y = resolution_y
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OnlyofficeWebdriverWrapper
4
4
  module Version
5
- STRING = '0.6.0'
5
+ STRING = '0.8.0'
6
6
  end
7
7
  end
@@ -56,20 +56,22 @@ module OnlyofficeWebdriverWrapper
56
56
  attr_accessor :headless
57
57
  # @return [Net::HTTP::Proxy] connection proxy
58
58
  attr_accessor :proxy
59
+ # @return [True, False] should video be recorded
60
+ attr_reader :record_video
59
61
 
60
- def initialize(browser = :firefox,
61
- _remote_server = nil,
62
- device: :desktop_linux,
63
- proxy: nil)
62
+ def initialize(browser = :firefox, params = {})
64
63
  raise WebdriverSystemNotSupported, 'Your OS is not 64 bit. It is not supported' unless os_64_bit?
65
64
 
66
- @device = device
67
- @headless = HeadlessHelper.new
65
+ @device = params.fetch(:device, :desktop_linux)
66
+ @record_video = params.fetch(:record_video, true)
67
+ @headless = HeadlessHelper.new(record_video: record_video)
68
68
  @headless.start
69
69
 
70
70
  @download_directory = Dir.mktmpdir('webdriver-download')
71
- @browser = browser
72
- @proxy = proxy
71
+ @browser = params.fetch(:browser, browser)
72
+ @proxy = params[:proxy]
73
+ return if params[:do_not_start_browser]
74
+
73
75
  case browser
74
76
  when :firefox
75
77
  @driver = start_firefox_driver
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onlyoffice_webdriver_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ONLYOFFICE
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2020-09-03 00:00:00.000000000 Z
14
+ date: 2020-11-20 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: headless
@@ -47,28 +47,28 @@ dependencies:
47
47
  requirements:
48
48
  - - '='
49
49
  - !ruby/object:Gem::Version
50
- version: 1.0.3
50
+ version: 1.1.0
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
55
  - - '='
56
56
  - !ruby/object:Gem::Version
57
- version: 1.0.3
57
+ version: 1.1.0
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: onlyoffice_s3_wrapper
60
60
  requirement: !ruby/object:Gem::Requirement
61
61
  requirements:
62
62
  - - '='
63
63
  - !ruby/object:Gem::Version
64
- version: 0.1.2
64
+ version: 0.3.0
65
65
  type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
68
68
  requirements:
69
69
  - - '='
70
70
  - !ruby/object:Gem::Version
71
- version: 0.1.2
71
+ version: 0.3.0
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: page-object
74
74
  requirement: !ruby/object:Gem::Requirement
@@ -115,100 +115,100 @@ dependencies:
115
115
  name: codecov
116
116
  requirement: !ruby/object:Gem::Requirement
117
117
  requirements:
118
- - - '='
118
+ - - "~>"
119
119
  - !ruby/object:Gem::Version
120
- version: 0.2.9
120
+ version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
123
  version_requirements: !ruby/object:Gem::Requirement
124
124
  requirements:
125
- - - '='
125
+ - - "~>"
126
126
  - !ruby/object:Gem::Version
127
- version: 0.2.9
127
+ version: '0'
128
128
  - !ruby/object:Gem::Dependency
129
129
  name: overcommit
130
130
  requirement: !ruby/object:Gem::Requirement
131
131
  requirements:
132
- - - '='
132
+ - - "~>"
133
133
  - !ruby/object:Gem::Version
134
- version: 0.55.0
134
+ version: '0'
135
135
  type: :development
136
136
  prerelease: false
137
137
  version_requirements: !ruby/object:Gem::Requirement
138
138
  requirements:
139
- - - '='
139
+ - - "~>"
140
140
  - !ruby/object:Gem::Version
141
- version: 0.55.0
141
+ version: '0'
142
142
  - !ruby/object:Gem::Dependency
143
143
  name: rake
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  requirements:
146
- - - '='
146
+ - - "~>"
147
147
  - !ruby/object:Gem::Version
148
- version: 13.0.1
148
+ version: '13'
149
149
  type: :development
150
150
  prerelease: false
151
151
  version_requirements: !ruby/object:Gem::Requirement
152
152
  requirements:
153
- - - '='
153
+ - - "~>"
154
154
  - !ruby/object:Gem::Version
155
- version: 13.0.1
155
+ version: '13'
156
156
  - !ruby/object:Gem::Dependency
157
157
  name: rspec
158
158
  requirement: !ruby/object:Gem::Requirement
159
159
  requirements:
160
- - - '='
160
+ - - "~>"
161
161
  - !ruby/object:Gem::Version
162
- version: 3.9.0
162
+ version: '3'
163
163
  type: :development
164
164
  prerelease: false
165
165
  version_requirements: !ruby/object:Gem::Requirement
166
166
  requirements:
167
- - - '='
167
+ - - "~>"
168
168
  - !ruby/object:Gem::Version
169
- version: 3.9.0
169
+ version: '3'
170
170
  - !ruby/object:Gem::Dependency
171
171
  name: rubocop
172
172
  requirement: !ruby/object:Gem::Requirement
173
173
  requirements:
174
- - - '='
174
+ - - "~>"
175
175
  - !ruby/object:Gem::Version
176
- version: 0.90.0
176
+ version: '1'
177
177
  type: :development
178
178
  prerelease: false
179
179
  version_requirements: !ruby/object:Gem::Requirement
180
180
  requirements:
181
- - - '='
181
+ - - "~>"
182
182
  - !ruby/object:Gem::Version
183
- version: 0.90.0
183
+ version: '1'
184
184
  - !ruby/object:Gem::Dependency
185
185
  name: rubocop-performance
186
186
  requirement: !ruby/object:Gem::Requirement
187
187
  requirements:
188
- - - '='
188
+ - - "~>"
189
189
  - !ruby/object:Gem::Version
190
- version: 1.7.1
190
+ version: '1'
191
191
  type: :development
192
192
  prerelease: false
193
193
  version_requirements: !ruby/object:Gem::Requirement
194
194
  requirements:
195
- - - '='
195
+ - - "~>"
196
196
  - !ruby/object:Gem::Version
197
- version: 1.7.1
197
+ version: '1'
198
198
  - !ruby/object:Gem::Dependency
199
199
  name: rubocop-rspec
200
200
  requirement: !ruby/object:Gem::Requirement
201
201
  requirements:
202
- - - '='
202
+ - - "~>"
203
203
  - !ruby/object:Gem::Version
204
- version: 1.43.2
204
+ version: '2'
205
205
  type: :development
206
206
  prerelease: false
207
207
  version_requirements: !ruby/object:Gem::Requirement
208
208
  requirements:
209
- - - '='
209
+ - - "~>"
210
210
  - !ruby/object:Gem::Version
211
- version: 1.43.2
211
+ version: '2'
212
212
  description: ONLYOFFICE Webdriver Wrapper Gem. Used in QA
213
213
  email:
214
214
  - shockwavenn@gmail.com
@@ -218,10 +218,11 @@ extra_rdoc_files: []
218
218
  files:
219
219
  - lib/onlyoffice_webdriver_wrapper.rb
220
220
  - lib/onlyoffice_webdriver_wrapper/dimensions.rb
221
- - lib/onlyoffice_webdriver_wrapper/helpers/bin/chromedriver
221
+ - lib/onlyoffice_webdriver_wrapper/helpers/bin/chromedriver_linux_87
222
222
  - lib/onlyoffice_webdriver_wrapper/helpers/bin/chromedriver_mac
223
223
  - lib/onlyoffice_webdriver_wrapper/helpers/bin/geckodriver
224
224
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper.rb
225
+ - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chrome_version_helper.rb
225
226
  - lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper.rb
226
227
  - lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper/save_to_disk_files.list
227
228
  - lib/onlyoffice_webdriver_wrapper/helpers/headless_helper.rb
@@ -247,15 +248,15 @@ files:
247
248
  - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_tab_helper.rb
248
249
  - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_type_helper.rb
249
250
  - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_user_agent_helper.rb
250
- homepage: https://github.com/onlyoffice-testing-robot/onlyoffice_webdriver_wrapper
251
+ homepage: https://github.com/ONLYOFFICE-QA/onlyoffice_webdriver_wrapper
251
252
  licenses:
252
253
  - AGPL-3.0
253
254
  metadata:
254
- bug_tracker_uri: https://github.com/onlyoffice-testing-robot/onlyoffice_webdriver_wrapper/issues
255
- changelog_uri: https://github.com/onlyoffice-testing-robot/onlyoffice_webdriver_wrapper/blob/master/CHANGELOG.md
255
+ bug_tracker_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_webdriver_wrapper/issues
256
+ changelog_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_webdriver_wrapper/blob/master/CHANGELOG.md
256
257
  documentation_uri: https://www.rubydoc.info/gems/onlyoffice_webdriver_wrapper
257
- homepage_uri: https://github.com/onlyoffice-testing-robot/onlyoffice_webdriver_wrapper
258
- source_code_uri: https://github.com/onlyoffice-testing-robot/onlyoffice_webdriver_wrapper
258
+ homepage_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_webdriver_wrapper
259
+ source_code_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_webdriver_wrapper
259
260
  post_install_message:
260
261
  rdoc_options: []
261
262
  require_paths: