onlyoffice_webdriver_wrapper 1.18.0 → 1.19.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5d33fe3ffa6f4f83c310743824bb4bfa106acd1e769e0dc9564900cd7ffd300c
4
- data.tar.gz: 06e2f1dc2eaca548bd2c8b83138be471d06177d9869fcafe54088cd60d5a1992
3
+ metadata.gz: 83d24c80fc926adb5358888f785262ba85b0815cc915510f9381dcdfba27cb44
4
+ data.tar.gz: 13ebebe6ded6e30fa090f903333e58e3696f278b5132627d73ec85b51782a4d6
5
5
  SHA512:
6
- metadata.gz: d23aa8e7739e9065ec4d3b6817da0465b60d2d8d5eee02bfef46e98e08db1b54bb6d266762bc80d03b702224bb71792564fad31bc745c92194548feef958e02b
7
- data.tar.gz: a56a1adc18d2fc5c7c309a2b329aa3a348fa3ff53777ba1933187e06e9f59efabb633b17533bac06bbb1aaa04cb017c469e9e645bd48c7fbe7146dd7e1760160
6
+ metadata.gz: 3d33461e1df34805a0421311b1d4367b5f326878a60a10c4523c656af150e1b56663785c21f33c6e796498eb33de1c703055d6bed5d7737558ab577acf5d49bb
7
+ data.tar.gz: 7a3abbea7d1f21be57915fb8af6b8fdb4bb8ca58593e63030e61d6483efd7ac82d5ec0e7a77e73f4933319795748d9d0c7c44fd0c631869194d18fa64cc7a49a
@@ -4,6 +4,6 @@ module OnlyofficeWebdriverWrapper
4
4
  # Module for storing version data
5
5
  module Version
6
6
  # @return [String] Current stable version of gem
7
- STRING = '1.18.0'
7
+ STRING = '1.19.1'
8
8
  end
9
9
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OnlyofficeWebdriverWrapper
4
+ # Methods for scrolling page
5
+ module ScrollMethods
6
+ # Scroll list by pixel count
7
+ # @param [String] list_xpath how to detect this list
8
+ # @param [Integer] pixels how much to scroll
9
+ # @return [void]
10
+ def scroll_list_by_pixels(list_xpath, pixels)
11
+ element = dom_element_by_xpath(list_xpath)
12
+ execute_javascript("$(#{element}).scrollTop(#{pixels})")
13
+ end
14
+
15
+ # Get current element scroll position
16
+ # @param [String] list_xpath how to detect this list
17
+ # @return [Float] position in pixels
18
+ def current_scroll_position(xpath)
19
+ execute_javascript("return $(#{dom_element_by_xpath(xpath)}).scrollTop()")
20
+ end
21
+ end
22
+ end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'net/protocol'
4
+
3
5
  module OnlyofficeWebdriverWrapper
4
6
  # Methods for working with alerts
5
7
  module WebdriverAlertHelper
@@ -60,21 +60,12 @@ module OnlyofficeWebdriverWrapper
60
60
  link = get_screenshot_and_upload("#{screenshot_folder}/#{screenshot_name}.png")
61
61
  rescue StandardError => e
62
62
  OnlyofficeLoggerHelper.log("Error in get screenshot: #{e}. Trying to get headless screenshot")
63
- if @headless.headless_instance.nil?
64
- system_screenshot("/tmp/#{screenshot_name}.png")
65
- begin
66
- link = publish_screenshot("/tmp/#{screenshot_name}.png")
67
- rescue StandardError => e
68
- OnlyofficeLoggerHelper.log("Error in get screenshot: #{e}. System screenshot #{link}")
69
- end
63
+ if @headless.running?
64
+ @headless.take_screenshot("#{screenshot_folder}/#{screenshot_name}.png")
70
65
  else
71
- @headless.take_screenshot("/tmp/#{screenshot_name}.png")
72
- begin
73
- link = publish_screenshot("/tmp/#{screenshot_name}.png")
74
- rescue StandardError => e
75
- OnlyofficeLoggerHelper.log("Error in get screenshot: #{e}. Headless screenshot #{link}")
76
- end
66
+ system_screenshot("#{screenshot_folder}/#{screenshot_name}.png")
77
67
  end
68
+ link = publish_screenshot("#{screenshot_folder}/#{screenshot_name}.png")
78
69
  end
79
70
  "screenshot: #{link}"
80
71
  end
@@ -10,6 +10,7 @@ require_relative 'helpers/firefox_helper'
10
10
  require_relative 'webdriver/click_methods'
11
11
  require_relative 'webdriver/element_getters'
12
12
  require_relative 'webdriver/get_text_methods'
13
+ require_relative 'webdriver/scroll_methods'
13
14
  require_relative 'webdriver/select_list_methods'
14
15
  require_relative 'webdriver/wait_until_methods'
15
16
  require_relative 'webdriver/webdriver_alert_helper'
@@ -35,6 +36,7 @@ module OnlyofficeWebdriverWrapper
35
36
  include ChromeHelper
36
37
  include ClickMethods
37
38
  include GetTextMethods
39
+ include ScrollMethods
38
40
  include SelectListMethods
39
41
  include FirefoxHelper
40
42
  include RubyHelper
@@ -55,6 +57,8 @@ module OnlyofficeWebdriverWrapper
55
57
  include WebdriverBrowserLogHelper
56
58
  # @return [Integer] Default timeout for waiting to file to download
57
59
  TIMEOUT_FILE_DOWNLOAD = 100
60
+ # @return [Array<Symbol>] list of supported browsers
61
+ SUPPORTED_BROWSERS = %i[firefox chrome].freeze
58
62
  # @return [Array, String] default switches for chrome
59
63
  attr_accessor :driver
60
64
  # @return [Symbol] browser to use
@@ -73,6 +77,7 @@ module OnlyofficeWebdriverWrapper
73
77
  def initialize(browser = :firefox, params = {})
74
78
  raise WebdriverSystemNotSupported, 'Your OS is not 64 bit. It is not supported' unless os_64_bit?
75
79
 
80
+ ensure_supported_browser(browser)
76
81
  @device = params.fetch(:device, :desktop_linux)
77
82
  @record_video = params.fetch(:record_video, true)
78
83
  @headless = HeadlessHelper.new(record_video: record_video)
@@ -87,18 +92,18 @@ module OnlyofficeWebdriverWrapper
87
92
  @driver = start_firefox_driver
88
93
  when :chrome
89
94
  @driver = start_chrome_driver
90
- else
91
- raise("Unknown Browser: #{browser}")
92
95
  end
93
96
  @browser_running = true
94
97
  end
95
98
 
96
- # Scroll list by pixel count
97
- # @param [String] list_xpath how to detect this list
98
- # @param [Integer] pixels how much to scroll
99
+ # Ensure that browser is supported
100
+ # @param [Symbol] browser to check
101
+ # @raise [RuntimeError] if browser is not supported
99
102
  # @return [void]
100
- def scroll_list_by_pixels(list_xpath, pixels)
101
- execute_javascript("$(#{dom_element_by_xpath(list_xpath)}).scrollTop(#{pixels})")
103
+ def ensure_supported_browser(browser)
104
+ return if SUPPORTED_BROWSERS.include?(browser)
105
+
106
+ raise("Unknown Browser: #{browser}")
102
107
  end
103
108
 
104
109
  # Open dropdown selector, like 'Color Selector', which has no element id
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: 1.18.0
4
+ version: 1.19.1
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: 2023-06-02 00:00:00.000000000 Z
14
+ date: 2023-09-08 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: headless
@@ -96,6 +96,9 @@ dependencies:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
98
  version: '4'
99
+ - - "!="
100
+ - !ruby/object:Gem::Version
101
+ version: 4.12.0
99
102
  type: :runtime
100
103
  prerelease: false
101
104
  version_requirements: !ruby/object:Gem::Requirement
@@ -103,6 +106,9 @@ dependencies:
103
106
  - - "~>"
104
107
  - !ruby/object:Gem::Version
105
108
  version: '4'
109
+ - - "!="
110
+ - !ruby/object:Gem::Version
111
+ version: 4.12.0
106
112
  - !ruby/object:Gem::Dependency
107
113
  name: watir
108
114
  requirement: !ruby/object:Gem::Requirement
@@ -129,9 +135,9 @@ files:
129
135
  - lib/onlyoffice_webdriver_wrapper/helpers/bin/geckodriver
130
136
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper.rb
131
137
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chrome_version_helper.rb
132
- - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_112
133
- - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_113
134
138
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_114
139
+ - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_115
140
+ - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_116
135
141
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_mac
136
142
  - lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper.rb
137
143
  - lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper/save_to_disk_files.list
@@ -147,6 +153,7 @@ files:
147
153
  - lib/onlyoffice_webdriver_wrapper/webdriver/click_methods.rb
148
154
  - lib/onlyoffice_webdriver_wrapper/webdriver/element_getters.rb
149
155
  - lib/onlyoffice_webdriver_wrapper/webdriver/get_text_methods.rb
156
+ - lib/onlyoffice_webdriver_wrapper/webdriver/scroll_methods.rb
150
157
  - lib/onlyoffice_webdriver_wrapper/webdriver/select_list_methods.rb
151
158
  - lib/onlyoffice_webdriver_wrapper/webdriver/wait_until_methods.rb
152
159
  - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_alert_helper.rb
@@ -189,7 +196,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
189
196
  - !ruby/object:Gem::Version
190
197
  version: '0'
191
198
  requirements: []
192
- rubygems_version: 3.4.13
199
+ rubygems_version: 3.4.19
193
200
  signing_key:
194
201
  specification_version: 4
195
202
  summary: ONLYOFFICE Webdriver Wrapper Gem