onlyoffice_webdriver_wrapper 0.7.0 → 0.11.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: a21d9eaf5674c09425184631dd79d31f8d36cb2977e3d7dd309fe938d54603b9
4
- data.tar.gz: a807c1805c6cfb6197692efdc4947081b02589ba923f30a058eeec80759e75a6
3
+ metadata.gz: e5fdadf2d52adf6b1a50dde3b848c94c2d673d7205fce834f90469c9075c0d5f
4
+ data.tar.gz: 28ef75b4b731eaac7d5c16f6f3bc09fa439cbc76e4aee491a3324a71a96e8ec4
5
5
  SHA512:
6
- metadata.gz: 25a0dac52bc614e8f5ee863825e105879b3c6db71451c59c8f8b05dadaecbbf121928083793cf1d2af24ab870882a9f351731637627bbc076b8d5f1f3dd31ae0
7
- data.tar.gz: d5037066d18d20f9b82a86ed42de5b60ab2202bddf93304e211e5d6fcb9f2679c9a815391c3b6526a122196060cbf7a23d572e2b434b7c9ce8905afdefb58ea2
6
+ metadata.gz: 72e974e29f12a790661ada2391a70d9b41e694a1d1328475867f7941d3e4ee86d39c56947d6fcd43a50e6fab2c1cdc65ed6d8564480a6dcd76d474679e699d78
7
+ data.tar.gz: 946a2640b5d04082cb97c44c9c28dbdd3864431771fdb5a1171f36d090e49c9be13749bc40d34228c9c23c09ab012df066a78090dc0b83e831ec673c87b591d2
@@ -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
+ "#{File.dirname(__FILE__)}/chromedriver_bin/chromedriver_mac"
39
+ end
40
+
41
+ # @return [String] default linux chromedriver
42
+ def default_linux
43
+ "#{File.dirname(__FILE__)}/chromedriver_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 = "#{File.dirname(__FILE__)}/chromedriver_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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OnlyofficeWebdriverWrapper
4
4
  module Version
5
- STRING = '0.7.0'
5
+ STRING = '0.11.0'
6
6
  end
7
7
  end
@@ -70,6 +70,8 @@ module OnlyofficeWebdriverWrapper
70
70
  @download_directory = Dir.mktmpdir('webdriver-download')
71
71
  @browser = params.fetch(:browser, browser)
72
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
@@ -9,7 +9,7 @@ module OnlyofficeWebdriverWrapper
9
9
  element = xpath_name.is_a?(String) ? get_element(xpath_name) : xpath_name
10
10
  begin
11
11
  attribute_value = element.attribute(attribute)
12
- exist = attribute_value.empty? || attribute_value.nil? ? false : true
12
+ exist = !(attribute_value.empty? || attribute_value.nil?)
13
13
  rescue Exception
14
14
  exist = false
15
15
  end
@@ -36,7 +36,7 @@ module OnlyofficeWebdriverWrapper
36
36
  element.send_keys text_to_send
37
37
  elsif text_to_send != ''
38
38
  if text_to_send.is_a?(String)
39
- text_to_send.split(//).each do |symbol|
39
+ text_to_send.chars.each do |symbol|
40
40
  @driver.action.send_keys(symbol).perform
41
41
  end
42
42
  else
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.7.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ONLYOFFICE
@@ -11,106 +11,106 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2020-11-18 00:00:00.000000000 Z
14
+ date: 2021-03-03 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: headless
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - '='
20
+ - - "~>"
21
21
  - !ruby/object:Gem::Version
22
- version: 2.3.1
22
+ version: '2'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - '='
27
+ - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: 2.3.1
29
+ version: '2'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: onlyoffice_file_helper
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
- - - '='
34
+ - - "~>"
35
35
  - !ruby/object:Gem::Version
36
- version: 0.3.0
36
+ version: '0'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - '='
41
+ - - "~>"
42
42
  - !ruby/object:Gem::Version
43
- version: 0.3.0
43
+ version: '0'
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: onlyoffice_logger_helper
46
46
  requirement: !ruby/object:Gem::Requirement
47
47
  requirements:
48
- - - '='
48
+ - - "~>"
49
49
  - !ruby/object:Gem::Version
50
- version: 1.1.0
50
+ version: '1'
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.1.0
57
+ version: '1'
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.3.0
64
+ version: '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.3.0
71
+ version: '0'
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: page-object
74
74
  requirement: !ruby/object:Gem::Requirement
75
75
  requirements:
76
- - - '='
76
+ - - "~>"
77
77
  - !ruby/object:Gem::Version
78
- version: 2.2.6
78
+ version: '2'
79
79
  type: :runtime
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
82
82
  requirements:
83
- - - '='
83
+ - - "~>"
84
84
  - !ruby/object:Gem::Version
85
- version: 2.2.6
85
+ version: '2'
86
86
  - !ruby/object:Gem::Dependency
87
87
  name: selenium-webdriver
88
88
  requirement: !ruby/object:Gem::Requirement
89
89
  requirements:
90
- - - '='
90
+ - - "~>"
91
91
  - !ruby/object:Gem::Version
92
- version: 3.142.7
92
+ version: '3'
93
93
  type: :runtime
94
94
  prerelease: false
95
95
  version_requirements: !ruby/object:Gem::Requirement
96
96
  requirements:
97
- - - '='
97
+ - - "~>"
98
98
  - !ruby/object:Gem::Version
99
- version: 3.142.7
99
+ version: '3'
100
100
  - !ruby/object:Gem::Dependency
101
101
  name: watir
102
102
  requirement: !ruby/object:Gem::Requirement
103
103
  requirements:
104
- - - '='
104
+ - - "~>"
105
105
  - !ruby/object:Gem::Version
106
- version: 6.17.0
106
+ version: '6'
107
107
  type: :runtime
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
110
110
  requirements:
111
- - - '='
111
+ - - "~>"
112
112
  - !ruby/object:Gem::Version
113
- version: 6.17.0
113
+ version: '6'
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: codecov
116
116
  requirement: !ruby/object:Gem::Requirement
@@ -218,10 +218,13 @@ 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
222
- - lib/onlyoffice_webdriver_wrapper/helpers/bin/chromedriver_mac
223
221
  - lib/onlyoffice_webdriver_wrapper/helpers/bin/geckodriver
224
222
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper.rb
223
+ - 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
+ - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_89
227
+ - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_mac
225
228
  - lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper.rb
226
229
  - lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper/save_to_disk_files.list
227
230
  - lib/onlyoffice_webdriver_wrapper/helpers/headless_helper.rb
@@ -247,15 +250,15 @@ files:
247
250
  - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_tab_helper.rb
248
251
  - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_type_helper.rb
249
252
  - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_user_agent_helper.rb
250
- homepage: https://github.com/onlyoffice-testing-robot/onlyoffice_webdriver_wrapper
253
+ homepage: https://github.com/ONLYOFFICE-QA/onlyoffice_webdriver_wrapper
251
254
  licenses:
252
255
  - AGPL-3.0
253
256
  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
257
+ bug_tracker_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_webdriver_wrapper/issues
258
+ changelog_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_webdriver_wrapper/blob/master/CHANGELOG.md
256
259
  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
260
+ homepage_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_webdriver_wrapper
261
+ source_code_uri: https://github.com/ONLYOFFICE-QA/onlyoffice_webdriver_wrapper
259
262
  post_install_message:
260
263
  rdoc_options: []
261
264
  require_paths:
@@ -271,7 +274,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
271
274
  - !ruby/object:Gem::Version
272
275
  version: '0'
273
276
  requirements: []
274
- rubygems_version: 3.1.4
277
+ rubygems_version: 3.2.11
275
278
  signing_key:
276
279
  specification_version: 4
277
280
  summary: ONLYOFFICE Webdriver Wrapper Gem