onlyoffice_webdriver_wrapper 1.10.1 → 1.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/onlyoffice_webdriver_wrapper/helpers/bin/geckodriver +0 -0
- data/lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chrome_version_helper.rb +5 -3
- data/lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/{chromedriver_linux_102 → chromedriver_linux_105} +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/wait_until_methods.rb +3 -18
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_js_methods.rb +1 -1
- data/lib/onlyoffice_webdriver_wrapper/webdriver.rb +2 -12
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 72e6c203a606a12d451ab746ca13b41642f717c2e296446923849029fcb9d8a6
|
4
|
+
data.tar.gz: 7cefdc7a70b4119b95f62c8b6ac8ec264831de9e764b1d78104599d86eb62778
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dda0bcec308916e29b9b17312e839096242b1fcd7a75cd1262e5dd8feff5b621268d777be6d4f2db543ccc7bfc65f09db6675e840a59fc6744d3388b8438ac88
|
7
|
+
data.tar.gz: af6d0cfeae8483462f7939bd258898aa0f6c196bc311528998c7f684a34f7fd715c01f7eae4438ed5569b95917cfa50e5b9d3bd3476bb6a65eb2ef9b2ab8e5ec
|
Binary file
|
@@ -20,10 +20,12 @@ module OnlyofficeWebdriverWrapper
|
|
20
20
|
@chrome_version = unknown_chrome_version
|
21
21
|
end
|
22
22
|
|
23
|
+
# @param [Symbol] force_os force OS for chrome version (`:linux` or `:mac`),
|
24
|
+
# if empty - will try to autodetect current os
|
23
25
|
# @return [String] path to chromedriver
|
24
|
-
def chromedriver_path
|
25
|
-
return default_mac if OSHelper.mac?
|
26
|
-
return default_linux if chrome_version == unknown_chrome_version
|
26
|
+
def chromedriver_path(force_os = nil)
|
27
|
+
return default_mac if OSHelper.mac? || force_os == :mac
|
28
|
+
return default_linux if (chrome_version == unknown_chrome_version) || force_os == :linux
|
27
29
|
|
28
30
|
chromedriver_path_cur_chrome
|
29
31
|
end
|
Binary file
|
data/lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_mac
CHANGED
Binary file
|
@@ -33,7 +33,7 @@ module OnlyofficeWebdriverWrapper
|
|
33
33
|
# @param [String] xpath_name to find object
|
34
34
|
# @param [Integer] timeout How much to wait
|
35
35
|
# @raise [StandardError] error if element not found for timeout
|
36
|
-
# @return [
|
36
|
+
# @return [Boolean] true if element is visible after some timeout
|
37
37
|
def wait_until_element_visible(xpath_name, timeout = 15)
|
38
38
|
wait_until_element_present(xpath_name)
|
39
39
|
time = 0
|
@@ -41,24 +41,9 @@ module OnlyofficeWebdriverWrapper
|
|
41
41
|
sleep(1)
|
42
42
|
time += 1
|
43
43
|
end
|
44
|
-
return unless time >= timeout
|
45
|
-
|
46
|
-
webdriver_error("Element #{xpath_name} not visible for #{timeout} seconds")
|
47
|
-
end
|
44
|
+
return true unless time >= timeout
|
48
45
|
|
49
|
-
|
50
|
-
# @param [String] xpath_name xpath of element
|
51
|
-
# @param [Integer] period_of_wait how much time sleep each iteration of wait
|
52
|
-
# @param [Integer] critical_time maximum time for wait for element
|
53
|
-
# @return [nil]
|
54
|
-
def wait_element(xpath_name, period_of_wait = 1, critical_time = 3)
|
55
|
-
wait_until_element_present(xpath_name)
|
56
|
-
time = 0
|
57
|
-
until element_visible?(xpath_name)
|
58
|
-
sleep(period_of_wait)
|
59
|
-
time += 1
|
60
|
-
return if time == critical_time
|
61
|
-
end
|
46
|
+
webdriver_error("Element `#{xpath_name}` not visible for #{timeout} seconds")
|
62
47
|
end
|
63
48
|
|
64
49
|
# Wait until some element present
|
@@ -16,7 +16,7 @@ module OnlyofficeWebdriverWrapper
|
|
16
16
|
# Usually this mean browser hang up or some modular
|
17
17
|
# window is blocking browser for execution of any code
|
18
18
|
# in that case performing `webdriver_error` only cause forever loop
|
19
|
-
# since webdriver_error trying to
|
19
|
+
# since webdriver_error trying to current_url or make screenshots
|
20
20
|
raise(e.class, "Timeout Error #{e} happened while executing #{script}")
|
21
21
|
rescue StandardError => e
|
22
22
|
webdriver_error(e, "Exception #{e} in execute_javascript: #{script}")
|
@@ -30,7 +30,7 @@ require_relative 'webdriver/webdriver_browser_log_helper'
|
|
30
30
|
|
31
31
|
# Namespace of this gem
|
32
32
|
module OnlyofficeWebdriverWrapper
|
33
|
-
#
|
33
|
+
# Class for working with webdriver, main class of project
|
34
34
|
class WebDriver
|
35
35
|
include ChromeHelper
|
36
36
|
include ClickMethods
|
@@ -110,16 +110,7 @@ module OnlyofficeWebdriverWrapper
|
|
110
110
|
# @param [Integer] vertical_shift y value
|
111
111
|
# @return [void]
|
112
112
|
def open_dropdown_selector(xpath_name, horizontal_shift = 30, vertical_shift = 0)
|
113
|
-
|
114
|
-
if @browser == :firefox || @browser == :safari
|
115
|
-
set_style_attribute("#{xpath_name}/button", 'display', 'none')
|
116
|
-
set_style_attribute(xpath_name, 'display', 'inline')
|
117
|
-
element.click
|
118
|
-
set_style_attribute("#{xpath_name}/button", 'display', 'inline-block')
|
119
|
-
set_style_attribute(xpath_name, 'display', 'block')
|
120
|
-
else
|
121
|
-
move_to_driver_action(xpath_name, horizontal_shift, vertical_shift).click.perform
|
122
|
-
end
|
113
|
+
move_to_driver_action(xpath_name, horizontal_shift, vertical_shift).click.perform
|
123
114
|
end
|
124
115
|
|
125
116
|
# Perform an action on coordinate
|
@@ -222,7 +213,6 @@ module OnlyofficeWebdriverWrapper
|
|
222
213
|
exception = RuntimeError
|
223
214
|
end
|
224
215
|
select_top_frame
|
225
|
-
current_url = get_url
|
226
216
|
raise exception, "#{error_message}\n\nPage address: #{current_url}\n\nError #{webdriver_screenshot}"
|
227
217
|
end
|
228
218
|
|
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.11.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: 2022-08-
|
14
|
+
date: 2022-08-31 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: headless
|
@@ -275,9 +275,9 @@ files:
|
|
275
275
|
- lib/onlyoffice_webdriver_wrapper/helpers/bin/geckodriver
|
276
276
|
- lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper.rb
|
277
277
|
- lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chrome_version_helper.rb
|
278
|
-
- lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_102
|
279
278
|
- lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_103
|
280
279
|
- lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_104
|
280
|
+
- lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_105
|
281
281
|
- lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_mac
|
282
282
|
- lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper.rb
|
283
283
|
- lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper/save_to_disk_files.list
|
@@ -335,7 +335,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
335
335
|
- !ruby/object:Gem::Version
|
336
336
|
version: '0'
|
337
337
|
requirements: []
|
338
|
-
rubygems_version: 3.3.
|
338
|
+
rubygems_version: 3.3.21
|
339
339
|
signing_key:
|
340
340
|
specification_version: 4
|
341
341
|
summary: ONLYOFFICE Webdriver Wrapper Gem
|