onlyoffice_webdriver_wrapper 1.18.0 → 1.19.0

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: 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