onlyoffice_webdriver_wrapper 1.18.0 → 1.19.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: 5d33fe3ffa6f4f83c310743824bb4bfa106acd1e769e0dc9564900cd7ffd300c
4
- data.tar.gz: 06e2f1dc2eaca548bd2c8b83138be471d06177d9869fcafe54088cd60d5a1992
3
+ metadata.gz: f9928178651f912e702f33d64f7acfa5272849d1ec165aebef19d6383f415afd
4
+ data.tar.gz: 72d5fe781262d499a74a80f993a2c3ad9be1224be7af554fd5eba261091aa13a
5
5
  SHA512:
6
- metadata.gz: d23aa8e7739e9065ec4d3b6817da0465b60d2d8d5eee02bfef46e98e08db1b54bb6d266762bc80d03b702224bb71792564fad31bc745c92194548feef958e02b
7
- data.tar.gz: a56a1adc18d2fc5c7c309a2b329aa3a348fa3ff53777ba1933187e06e9f59efabb633b17533bac06bbb1aaa04cb017c469e9e645bd48c7fbe7146dd7e1760160
6
+ metadata.gz: d4372b1f24a39362c1cb47980a4b6575655048947c68e2d3b17ce79c4f28f1b49d15674aee039ada8c89dbdf7082a07b5fb81be1951c54dd02388ed3455a91e9
7
+ data.tar.gz: b8559ca2393335b34af1597031fff713163f805418e2ea2d5c183f2f66723b23c5c3f53f6564221db1f3f78effd950a87f199af11dd7122006cd86cc9634a6fd
@@ -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.0'
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.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: 2023-06-02 00:00:00.000000000 Z
14
+ date: 2023-09-04 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: headless
@@ -129,9 +129,9 @@ files:
129
129
  - lib/onlyoffice_webdriver_wrapper/helpers/bin/geckodriver
130
130
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper.rb
131
131
  - 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
132
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_114
133
+ - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_115
134
+ - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_116
135
135
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_mac
136
136
  - lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper.rb
137
137
  - lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper/save_to_disk_files.list
@@ -147,6 +147,7 @@ files:
147
147
  - lib/onlyoffice_webdriver_wrapper/webdriver/click_methods.rb
148
148
  - lib/onlyoffice_webdriver_wrapper/webdriver/element_getters.rb
149
149
  - lib/onlyoffice_webdriver_wrapper/webdriver/get_text_methods.rb
150
+ - lib/onlyoffice_webdriver_wrapper/webdriver/scroll_methods.rb
150
151
  - lib/onlyoffice_webdriver_wrapper/webdriver/select_list_methods.rb
151
152
  - lib/onlyoffice_webdriver_wrapper/webdriver/wait_until_methods.rb
152
153
  - lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_alert_helper.rb
@@ -189,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
189
190
  - !ruby/object:Gem::Version
190
191
  version: '0'
191
192
  requirements: []
192
- rubygems_version: 3.4.13
193
+ rubygems_version: 3.4.19
193
194
  signing_key:
194
195
  specification_version: 4
195
196
  summary: ONLYOFFICE Webdriver Wrapper Gem