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 +4 -4
- data/lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/{chromedriver_linux_113 → chromedriver_linux_115} +0 -0
- data/lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/{chromedriver_linux_112 → chromedriver_linux_116} +0 -0
- data/lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_mac +0 -0
- data/lib/onlyoffice_webdriver_wrapper/version.rb +1 -1
- data/lib/onlyoffice_webdriver_wrapper/webdriver/scroll_methods.rb +22 -0
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_alert_helper.rb +2 -0
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_screenshot_helper.rb +4 -13
- data/lib/onlyoffice_webdriver_wrapper/webdriver.rb +12 -7
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9928178651f912e702f33d64f7acfa5272849d1ec165aebef19d6383f415afd
|
4
|
+
data.tar.gz: 72d5fe781262d499a74a80f993a2c3ad9be1224be7af554fd5eba261091aa13a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4372b1f24a39362c1cb47980a4b6575655048947c68e2d3b17ce79c4f28f1b49d15674aee039ada8c89dbdf7082a07b5fb81be1951c54dd02388ed3455a91e9
|
7
|
+
data.tar.gz: b8559ca2393335b34af1597031fff713163f805418e2ea2d5c183f2f66723b23c5c3f53f6564221db1f3f78effd950a87f199af11dd7122006cd86cc9634a6fd
|
Binary file
|
Binary file
|
data/lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_mac
CHANGED
Binary file
|
@@ -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
|
@@ -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.
|
64
|
-
|
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
|
-
|
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
|
-
#
|
97
|
-
# @param [
|
98
|
-
# @
|
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
|
101
|
-
|
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.
|
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-
|
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.
|
193
|
+
rubygems_version: 3.4.19
|
193
194
|
signing_key:
|
194
195
|
specification_version: 4
|
195
196
|
summary: ONLYOFFICE Webdriver Wrapper Gem
|