onlyoffice_webdriver_wrapper 1.18.0 → 1.19.1
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 +12 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 83d24c80fc926adb5358888f785262ba85b0815cc915510f9381dcdfba27cb44
|
|
4
|
+
data.tar.gz: 13ebebe6ded6e30fa090f903333e58e3696f278b5132627d73ec85b51782a4d6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3d33461e1df34805a0421311b1d4367b5f326878a60a10c4523c656af150e1b56663785c21f33c6e796498eb33de1c703055d6bed5d7737558ab577acf5d49bb
|
|
7
|
+
data.tar.gz: 7a3abbea7d1f21be57915fb8af6b8fdb4bb8ca58593e63030e61d6483efd7ac82d5ec0e7a77e73f4933319795748d9d0c7c44fd0c631869194d18fa64cc7a49a
|
|
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.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-
|
|
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.
|
|
199
|
+
rubygems_version: 3.4.19
|
|
193
200
|
signing_key:
|
|
194
201
|
specification_version: 4
|
|
195
202
|
summary: ONLYOFFICE Webdriver Wrapper Gem
|