onlyoffice_webdriver_wrapper 0.11.0 → 0.15.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: e5fdadf2d52adf6b1a50dde3b848c94c2d673d7205fce834f90469c9075c0d5f
4
- data.tar.gz: 28ef75b4b731eaac7d5c16f6f3bc09fa439cbc76e4aee491a3324a71a96e8ec4
3
+ metadata.gz: 4f9a72cc669a1f993e2e7f263567f9d57488666c8e0051582c3a9afb7d5d5954
4
+ data.tar.gz: f9c38570131a0f5311cabeb69d8dc6fe3a9f8d666ac9a199ba3612d77642edc0
5
5
  SHA512:
6
- metadata.gz: 72e974e29f12a790661ada2391a70d9b41e694a1d1328475867f7941d3e4ee86d39c56947d6fcd43a50e6fab2c1cdc65ed6d8564480a6dcd76d474679e699d78
7
- data.tar.gz: 946a2640b5d04082cb97c44c9c28dbdd3864431771fdb5a1171f36d090e49c9be13749bc40d34228c9c23c09ab012df066a78090dc0b83e831ec673c87b591d2
6
+ metadata.gz: 7e297e9b284beb65c43be46ab0b3ffbc804b3cf14a53afddc10ea7a9060512b6413d5564daa8406d10ef61b0f4c3164234a2e8efa140d49af6c8bef56e983aa2
7
+ data.tar.gz: 5187d9912abd564602e09d4792d4d10edd54f640df9ce3fd18d73139a99f8a6740e76e744b05bc75566e8fa21ea448d047aebd49d99420e9aec2628c24b617ac
@@ -3,9 +3,6 @@
3
3
  module OnlyofficeWebdriverWrapper
4
4
  # Class for getting chrome version
5
5
  module ChromeVersionHelper
6
- # @return [Integer] current default chrome version
7
- CURRENT_DEFAULT_CHROME_VERSION = 87
8
-
9
6
  # @return [Gem::Version] unknown chrome version
10
7
  def unknown_chrome_version
11
8
  Gem::Version.new('0.0.0.0')
@@ -38,9 +35,9 @@ module OnlyofficeWebdriverWrapper
38
35
  "#{File.dirname(__FILE__)}/chromedriver_bin/chromedriver_mac"
39
36
  end
40
37
 
41
- # @return [String] default linux chromedriver
38
+ # @return [String] default linux chromedriver, always use latest version
42
39
  def default_linux
43
- "#{File.dirname(__FILE__)}/chromedriver_bin/chromedriver_linux_#{CURRENT_DEFAULT_CHROME_VERSION}"
40
+ Dir["#{File.dirname(__FILE__)}/chromedriver_bin/chromedriver_linux_*"].max
44
41
  end
45
42
 
46
43
  # @return [String] path to chromedriver of version
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OnlyofficeWebdriverWrapper
4
4
  module Version
5
- STRING = '0.11.0'
5
+ STRING = '0.15.0'
6
6
  end
7
7
  end
@@ -149,8 +149,8 @@ module OnlyofficeWebdriverWrapper
149
149
  # it is a root frame
150
150
  def get_url
151
151
  execute_javascript('return window.location.href')
152
- rescue Selenium::WebDriver::Error::NoSuchDriverError
153
- raise 'Browser is crushed or hangup'
152
+ rescue Selenium::WebDriver::Error::NoSuchDriverError, TimeoutError => e
153
+ raise(e.class, "Browser is crushed or hangup with #{e}")
154
154
  end
155
155
 
156
156
  def refresh
@@ -14,7 +14,7 @@ module OnlyofficeWebdriverWrapper
14
14
  wait.until { document_ready? }
15
15
  wait.until { jquery_finished? }
16
16
  end
17
- rescue Selenium::WebDriver::Error::TimeOutError
17
+ rescue Selenium::WebDriver::Error::TimeoutError
18
18
  webdriver_error("Wait until timeout: #{timeout} seconds in")
19
19
  rescue Selenium::WebDriver::Error::StaleElementReferenceError
20
20
  OnlyofficeLoggerHelper.log("Wait until: rescuing from Stale Element error, #{tries} attempts remaining")
@@ -43,10 +43,10 @@ module OnlyofficeWebdriverWrapper
43
43
  wait = Selenium::WebDriver::Wait.new(timeout: timeout) # seconds
44
44
  begin
45
45
  wait.until { get_element(xpath_name) }
46
- rescue Selenium::WebDriver::Error::TimeOutError => e
46
+ rescue Selenium::WebDriver::Error::TimeoutError => e
47
47
  timeout_message = "wait_until_element_present(#{xpath_name}) "\
48
- 'Selenium::WebDriver::Error::TimeOutError: '\
49
- "timed out after #{timeout} seconds"
48
+ 'Selenium::WebDriver::Error::TimeoutError: '\
49
+ "timed out after #{timeout} seconds"
50
50
  webdriver_error(e.class, timeout_message)
51
51
  end
52
52
  end
@@ -60,10 +60,10 @@ module OnlyofficeWebdriverWrapper
60
60
  wait = Selenium::WebDriver::Wait.new(timeout: timeout) # seconds
61
61
  begin
62
62
  wait.until { get_element(xpath_name) ? false : true }
63
- rescue Selenium::WebDriver::Error::TimeOutError => e
63
+ rescue Selenium::WebDriver::Error::TimeoutError => e
64
64
  timeout_message = "wait_until_element_present(#{xpath_name}) "\
65
- 'Selenium::WebDriver::Error::TimeOutError: '\
66
- "timed out after #{timeout} seconds"
65
+ 'Selenium::WebDriver::Error::TimeoutError: '\
66
+ "timed out after #{timeout} seconds"
67
67
  webdriver_error(e.class, timeout_message)
68
68
  end
69
69
  end
@@ -11,10 +11,10 @@ module OnlyofficeWebdriverWrapper
11
11
  end
12
12
 
13
13
  # Download temp file and return it location
14
- # @param file [String] url
14
+ # @param file_url [String] url
15
15
  # @return [String] path to file
16
16
  def download(file_url)
17
- data = Kernel.open(file_url, &:read)
17
+ data = URI.parse(file_url).open.read
18
18
  file = Tempfile.new('onlyoffice-downloaded-file')
19
19
  file.write(data.force_encoding('UTF-8'))
20
20
  file.close
@@ -12,8 +12,14 @@ module OnlyofficeWebdriverWrapper
12
12
  OnlyofficeLoggerHelper.log("Executed js: `#{script}` with result: `#{result}`")
13
13
  sleep(wait_timeout)
14
14
  result
15
+ rescue TimeoutError => e
16
+ # Usually this mean browser hang up or some modular
17
+ # window is blocking browser for execution of any code
18
+ # in that case performing `webdriver_error` only cause forever loop
19
+ # since webdriver_error trying to get_url or make screenshots
20
+ raise(e.class, "Timeout Error #{e} happened while executing #{script}")
15
21
  rescue Exception => e
16
- webdriver_error("Exception #{e} in execute_javascript: #{script}")
22
+ webdriver_error(e, "Exception #{e} in execute_javascript: #{script}")
17
23
  end
18
24
 
19
25
  # @param [String] xpath element to select
@@ -21,9 +21,9 @@ module OnlyofficeWebdriverWrapper
21
21
  element.clear
22
22
  rescue Exception => e
23
23
  webdriver_error(e.class, "Error in element.clear #{e} for "\
24
- "type_to_locator(#{xpath_name}, #{text_to_send}, "\
25
- "#{clear_content}, #{click_on_it}, "\
26
- "#{by_action}, #{by_element_send_key})")
24
+ "type_to_locator(#{xpath_name}, #{text_to_send}, "\
25
+ "#{clear_content}, #{click_on_it}, "\
26
+ "#{by_action}, #{by_element_send_key})")
27
27
  end
28
28
  end
29
29
 
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.11.0
4
+ version: 0.15.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: 2021-03-03 00:00:00.000000000 Z
14
+ date: 2021-07-13 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: headless
@@ -181,6 +181,20 @@ dependencies:
181
181
  - - "~>"
182
182
  - !ruby/object:Gem::Version
183
183
  version: '1'
184
+ - !ruby/object:Gem::Dependency
185
+ name: rubocop-packaging
186
+ requirement: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - "~>"
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ type: :development
192
+ prerelease: false
193
+ version_requirements: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - "~>"
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
184
198
  - !ruby/object:Gem::Dependency
185
199
  name: rubocop-performance
186
200
  requirement: !ruby/object:Gem::Requirement
@@ -195,6 +209,20 @@ dependencies:
195
209
  - - "~>"
196
210
  - !ruby/object:Gem::Version
197
211
  version: '1'
212
+ - !ruby/object:Gem::Dependency
213
+ name: rubocop-rake
214
+ requirement: !ruby/object:Gem::Requirement
215
+ requirements:
216
+ - - "~>"
217
+ - !ruby/object:Gem::Version
218
+ version: '0'
219
+ type: :development
220
+ prerelease: false
221
+ version_requirements: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - "~>"
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
198
226
  - !ruby/object:Gem::Dependency
199
227
  name: rubocop-rspec
200
228
  requirement: !ruby/object:Gem::Requirement
@@ -221,9 +249,9 @@ files:
221
249
  - lib/onlyoffice_webdriver_wrapper/helpers/bin/geckodriver
222
250
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper.rb
223
251
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chrome_version_helper.rb
224
- - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_87
225
- - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_88
226
252
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_89
253
+ - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_90
254
+ - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_91
227
255
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_mac
228
256
  - lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper.rb
229
257
  - lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper/save_to_disk_files.list
@@ -274,7 +302,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
274
302
  - !ruby/object:Gem::Version
275
303
  version: '0'
276
304
  requirements: []
277
- rubygems_version: 3.2.11
305
+ rubygems_version: 3.2.23
278
306
  signing_key:
279
307
  specification_version: 4
280
308
  summary: ONLYOFFICE Webdriver Wrapper Gem