onlyoffice_webdriver_wrapper 0.0.2 → 0.1.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.rb +2 -0
- data/lib/onlyoffice_webdriver_wrapper/dimensions.rb +6 -0
- data/lib/onlyoffice_webdriver_wrapper/helpers/bin/chromedriver +0 -0
- data/lib/onlyoffice_webdriver_wrapper/helpers/bin/chromedriver_mac +0 -0
- data/lib/onlyoffice_webdriver_wrapper/helpers/bin/geckodriver +0 -0
- data/lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper.rb +10 -3
- data/lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper.rb +8 -2
- data/lib/onlyoffice_webdriver_wrapper/helpers/headless_helper.rb +2 -0
- data/lib/onlyoffice_webdriver_wrapper/helpers/headless_helper/real_display_tools.rb +2 -0
- data/lib/onlyoffice_webdriver_wrapper/helpers/headless_helper/ruby_helper.rb +2 -0
- data/lib/onlyoffice_webdriver_wrapper/helpers/os_helper.rb +2 -0
- data/lib/onlyoffice_webdriver_wrapper/version.rb +3 -1
- data/lib/onlyoffice_webdriver_wrapper/webdriver.rb +18 -13
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_alert_helper.rb +4 -4
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_attributes_helper.rb +2 -0
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_browser_info_helper.rb +2 -0
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_browser_log_helper.rb +2 -0
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_exceptions.rb +2 -0
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_helper.rb +2 -0
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_js_methods.rb +7 -0
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_screenshot_helper.rb +2 -0
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_style_helper.rb +3 -1
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_tab_helper.rb +6 -2
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_type_helper.rb +2 -17
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_user_agent_helper.rb +6 -4
- metadata +10 -12
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_extension.rb +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 328cc206dfe7a1b7bdca4e61b4b035fe2ec96c56323302be27ffea9c2dcde56d
|
4
|
+
data.tar.gz: e8d09c9790c5911e6415eff49fc70d61eda46f60f8c5affa922850ee66107d68
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97c3e656c469845ef2f6d4e643ba4625043d608456d544d5afc62aeeb2679f007349a2e6fbfc9d8c217a4c797f00ddd2577ffd49177a892a20a2d68553321132
|
7
|
+
data.tar.gz: cd6069601e477776ed59f791efc4e140fbfcd867cb427b786907764c469f2a3368a6b3afc2cf1c7fd79c263713618ee62297a6fe10d2a9fb2a2d56519c250817
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module OnlyofficeWebdriverWrapper
|
2
4
|
# Class for working with cursor coordinates
|
3
5
|
class Dimensions
|
@@ -12,5 +14,9 @@ module OnlyofficeWebdriverWrapper
|
|
12
14
|
alias height top
|
13
15
|
alias x left
|
14
16
|
alias y top
|
17
|
+
|
18
|
+
def to_s
|
19
|
+
"Dimensions(left: #{@left}, top: #{@top})"
|
20
|
+
end
|
15
21
|
end
|
16
22
|
end
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module OnlyofficeWebdriverWrapper
|
2
4
|
# Class for working with Chrome
|
3
5
|
module ChromeHelper
|
@@ -14,6 +16,10 @@ module OnlyofficeWebdriverWrapper
|
|
14
16
|
File.join(File.dirname(__FILE__), driver_name)
|
15
17
|
end
|
16
18
|
|
19
|
+
def chrome_service
|
20
|
+
@chrome_service ||= Selenium::WebDriver::Chrome::Service.new(path: chromedriver_path)
|
21
|
+
end
|
22
|
+
|
17
23
|
# @return [Webdriver::Chrome] Chrome webdriver
|
18
24
|
def start_chrome_driver
|
19
25
|
prefs = {
|
@@ -22,8 +28,8 @@ module OnlyofficeWebdriverWrapper
|
|
22
28
|
default_directory: download_directory
|
23
29
|
},
|
24
30
|
profile: {
|
25
|
-
|
26
|
-
'
|
31
|
+
default_content_setting_values: {
|
32
|
+
'automatic_downloads': 1
|
27
33
|
}
|
28
34
|
},
|
29
35
|
credentials_enable_service: false
|
@@ -31,13 +37,14 @@ module OnlyofficeWebdriverWrapper
|
|
31
37
|
caps = Selenium::WebDriver::Remote::Capabilities.chrome
|
32
38
|
caps[:logging_prefs] = { browser: 'ALL' }
|
33
39
|
caps[:proxy] = Selenium::WebDriver::Proxy.new(ssl: "#{@proxy.proxy_address}:#{@proxy.proxy_port}") if @proxy
|
40
|
+
caps['chromeOptions'] = { w3c: false }
|
34
41
|
if ip_of_remote_server.nil?
|
35
42
|
switches = add_useragent_to_switches(DEFAULT_CHROME_SWITCHES)
|
36
43
|
options = Selenium::WebDriver::Chrome::Options.new(args: switches,
|
37
44
|
prefs: prefs)
|
38
45
|
webdriver_options = { options: options,
|
39
46
|
desired_capabilities: caps,
|
40
|
-
|
47
|
+
service: chrome_service }
|
41
48
|
begin
|
42
49
|
driver = Selenium::WebDriver.for :chrome, webdriver_options
|
43
50
|
rescue Selenium::WebDriver::Error::WebDriverError,
|
@@ -1,9 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module OnlyofficeWebdriverWrapper
|
2
4
|
# Module for working with firefox
|
3
5
|
module FirefoxHelper
|
6
|
+
def firefox_service
|
7
|
+
geckodriver = File.join(File.dirname(__FILE__), 'bin/geckodriver')
|
8
|
+
@firefox_service ||= Selenium::WebDriver::Firefox::Service.new(path: geckodriver)
|
9
|
+
end
|
10
|
+
|
4
11
|
# @return [Webdriver::Firefox] firefox webdriver
|
5
12
|
def start_firefox_driver
|
6
|
-
geckodriver = File.join(File.dirname(__FILE__), 'bin/geckodriver')
|
7
13
|
profile = Selenium::WebDriver::Firefox::Profile.new
|
8
14
|
profile['browser.download.folderList'] = 2
|
9
15
|
profile['browser.helperApps.neverAsk.saveToDisk'] = 'application/doct, application/mspowerpoint, application/msword, application/octet-stream, application/oleobject, application/pdf, application/powerpoint, application/pptt, application/rtf, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/vnd.oasis.opendocument.spreadsheet, application/vnd.oasis.opendocument.text, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/x-compressed, application/x-excel, application/xlst, application/x-msexcel, application/x-mspowerpoint, application/x-rtf, application/x-zip-compressed, application/zip, image/jpeg, image/pjpeg, image/pjpeg, image/x-jps, message/rfc822, multipart/x-zip, text/csv, text/html, text/html, text/plain, text/richtext'
|
@@ -14,7 +20,7 @@ module OnlyofficeWebdriverWrapper
|
|
14
20
|
caps = Selenium::WebDriver::Remote::Capabilities.firefox
|
15
21
|
caps[:proxy] = Selenium::WebDriver::Proxy.new(ssl: "#{@proxy.proxy_address}:#{@proxy.proxy_port}") if @proxy
|
16
22
|
if ip_of_remote_server.nil?
|
17
|
-
driver = Selenium::WebDriver.for :firefox, options: options,
|
23
|
+
driver = Selenium::WebDriver.for :firefox, options: options, service: firefox_service, desired_capabilities: caps
|
18
24
|
driver.manage.window.size = Selenium::WebDriver::Dimension.new(headless.resolution_x, headless.resolution_y) if headless.running?
|
19
25
|
driver
|
20
26
|
else
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'onlyoffice_file_helper'
|
2
4
|
require 'page-object'
|
3
5
|
require 'securerandom'
|
@@ -10,7 +12,6 @@ require_relative 'webdriver/webdriver_attributes_helper'
|
|
10
12
|
require_relative 'webdriver/webdriver_browser_info_helper'
|
11
13
|
require_relative 'webdriver/webdriver_type_helper'
|
12
14
|
require_relative 'webdriver/webdriver_exceptions'
|
13
|
-
require_relative 'webdriver/webdriver_extension'
|
14
15
|
require_relative 'webdriver/webdriver_helper'
|
15
16
|
require_relative 'webdriver/webdriver_js_methods'
|
16
17
|
require_relative 'webdriver/webdriver_screenshot_helper'
|
@@ -41,6 +42,8 @@ module OnlyofficeWebdriverWrapper
|
|
41
42
|
# @return [Array, String] default switches for chrome
|
42
43
|
attr_accessor :driver
|
43
44
|
attr_accessor :browser
|
45
|
+
# @return [True, False] is browser currently running
|
46
|
+
attr_reader :browser_running
|
44
47
|
# @return [Symbol] device of which we try to simulate, default - :desktop_linux
|
45
48
|
attr_accessor :device
|
46
49
|
attr_accessor :ip_of_remote_server
|
@@ -74,6 +77,7 @@ module OnlyofficeWebdriverWrapper
|
|
74
77
|
else
|
75
78
|
raise 'Unknown Browser: ' + browser.to_s
|
76
79
|
end
|
80
|
+
@browser_running = true
|
77
81
|
end
|
78
82
|
|
79
83
|
def add_web_console_error(log)
|
@@ -94,6 +98,8 @@ module OnlyofficeWebdriverWrapper
|
|
94
98
|
end
|
95
99
|
|
96
100
|
def quit
|
101
|
+
return unless browser_running
|
102
|
+
|
97
103
|
begin
|
98
104
|
@driver.execute_script('window.onbeforeunload = null') # off popup window
|
99
105
|
rescue StandardError
|
@@ -107,6 +113,7 @@ module OnlyofficeWebdriverWrapper
|
|
107
113
|
alert_confirm
|
108
114
|
@headless.stop
|
109
115
|
FileUtils.remove_dir(@download_directory) if Dir.exist?(@download_directory)
|
116
|
+
@browser_running = false
|
110
117
|
end
|
111
118
|
|
112
119
|
def get_element(object_identification)
|
@@ -199,12 +206,11 @@ module OnlyofficeWebdriverWrapper
|
|
199
206
|
end
|
200
207
|
|
201
208
|
def remove_class_by_jquery(selector, class_name)
|
202
|
-
execute_javascript(
|
203
|
-
execute_javascript("$('#{selector}').removeClass('#{class_name}');")
|
209
|
+
execute_javascript("#{jquery_selector_by_xpath(selector)}.removeClass('#{class_name}');")
|
204
210
|
end
|
205
211
|
|
206
212
|
def add_class_by_jquery(selector, class_name)
|
207
|
-
execute_javascript("
|
213
|
+
execute_javascript("#{jquery_selector_by_xpath(selector)}.addClass('#{class_name}');")
|
208
214
|
end
|
209
215
|
|
210
216
|
# Perform drag'n'drop action in one element (for example on big canvas area)
|
@@ -219,15 +225,14 @@ module OnlyofficeWebdriverWrapper
|
|
219
225
|
# * +mouse_release+ - release mouse after move
|
220
226
|
def drag_and_drop(xpath, x1, y1, x2, y2, mouse_release: true)
|
221
227
|
canvas = get_element(xpath)
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
webdriver_error("drag_and_drop(#{xpath}, #{x1}, #{y1}, #{x2}, #{y2}) TypeError: #{e.message}")
|
228
|
+
|
229
|
+
move_action = @driver.action
|
230
|
+
.move_to(canvas, x1.to_i, y1.to_i)
|
231
|
+
.click_and_hold
|
232
|
+
.move_by(x2, y2)
|
233
|
+
move_action = move_action.release if mouse_release
|
234
|
+
|
235
|
+
move_action.perform
|
231
236
|
end
|
232
237
|
|
233
238
|
# Perform drag'n'drop one whole element
|
@@ -1,10 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module OnlyofficeWebdriverWrapper
|
2
4
|
# Methods for working with alerts
|
3
5
|
module WebdriverAlertHelper
|
4
6
|
def alert_confirm
|
5
|
-
@driver.switch_to.alert.accept
|
6
|
-
rescue StandardError
|
7
|
-
Selenium::WebDriver::Error::NoAlertOpenError
|
7
|
+
@driver.switch_to.alert.accept if alert_exists?
|
8
8
|
end
|
9
9
|
|
10
10
|
# Check if alert exists
|
@@ -12,7 +12,7 @@ module OnlyofficeWebdriverWrapper
|
|
12
12
|
def alert_exists?
|
13
13
|
@driver.switch_to.alert.text
|
14
14
|
true
|
15
|
-
rescue Selenium::WebDriver::Error::
|
15
|
+
rescue Selenium::WebDriver::Error::NoSuchAlertError, Errno::ECONNREFUSED
|
16
16
|
false
|
17
17
|
end
|
18
18
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module OnlyofficeWebdriverWrapper
|
2
4
|
# Methods for webdriver for calling Javascript
|
3
5
|
module WebdriverJsMethods
|
@@ -9,6 +11,11 @@ module OnlyofficeWebdriverWrapper
|
|
9
11
|
webdriver_error("Exception #{e} in execute_javascript: #{script}")
|
10
12
|
end
|
11
13
|
|
14
|
+
# @return [String] string to select by xpath
|
15
|
+
def jquery_selector_by_xpath(xpath)
|
16
|
+
"$(document.evaluate('#{xpath}', document, null, XPathResult.ANY_TYPE, null).iterateNext())"
|
17
|
+
end
|
18
|
+
|
12
19
|
def type_to_locator_by_javascript(xpath_name, text)
|
13
20
|
escaped_text = text.gsub('\\', '\\\\\\\\').gsub('"', '\\"').gsub("\n", '\\n')
|
14
21
|
execute_javascript("document.evaluate('#{xpath_name}', document, null, XPathResult.ANY_TYPE, null).iterateNext().value=\"#{escaped_text}\";")
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module OnlyofficeWebdriverWrapper
|
2
4
|
# Webdriver style helper
|
3
5
|
module WebdriverStyleHelper
|
@@ -12,7 +14,7 @@ module OnlyofficeWebdriverWrapper
|
|
12
14
|
el_style = element.attribute('style')
|
13
15
|
unless el_style.empty?
|
14
16
|
found_style = el_style.split(';').find { |curr_param| curr_param.include?(style) }
|
15
|
-
found_style
|
17
|
+
found_style&.gsub(/\s?#{style}:/, '')
|
16
18
|
end
|
17
19
|
end.compact
|
18
20
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module OnlyofficeWebdriverWrapper
|
2
4
|
# Module for work with tabs
|
3
5
|
module WebdriverTabHelper
|
@@ -17,7 +19,9 @@ module OnlyofficeWebdriverWrapper
|
|
17
19
|
OnlyofficeLoggerHelper.log("Resize current window to #{width}x#{height}")
|
18
20
|
end
|
19
21
|
|
20
|
-
|
22
|
+
# @param after_switch_timeout [Integer] wait after switch to window
|
23
|
+
# non-zero to workaround bug with page load hanging up after switch
|
24
|
+
def switch_to_popup(after_switch_timeout: 3)
|
21
25
|
counter = 0
|
22
26
|
while tab_count < 2 && counter < 30
|
23
27
|
sleep 1
|
@@ -27,7 +31,7 @@ module OnlyofficeWebdriverWrapper
|
|
27
31
|
list_of_handlers = @driver.window_handles
|
28
32
|
last_window_handler = list_of_handlers.last
|
29
33
|
@driver.switch_to.window(last_window_handler)
|
30
|
-
sleep
|
34
|
+
sleep(after_switch_timeout) # Do not remove until problem with page loading stop resolved
|
31
35
|
end
|
32
36
|
|
33
37
|
# Get tab count
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module OnlyofficeWebdriverWrapper
|
2
4
|
# Class for helping with type stuff
|
3
5
|
module WebdriverTypeHelper
|
@@ -56,23 +58,6 @@ module OnlyofficeWebdriverWrapper
|
|
56
58
|
element.send_keys text_to_send
|
57
59
|
end
|
58
60
|
|
59
|
-
def type_text_by_symbol(xpath_name, text_to_send, clear_content = true, click_on_it = false, by_action = false, by_element_send_key = false)
|
60
|
-
click_on_locator(xpath_name) if click_on_it
|
61
|
-
element = get_element(xpath_name)
|
62
|
-
if clear_content
|
63
|
-
element.clear
|
64
|
-
click_on_locator(xpath_name) if click_on_it
|
65
|
-
end
|
66
|
-
text_to_send.scan(/./).each do |symbol|
|
67
|
-
sleep(0.3)
|
68
|
-
if (@browser != :chrome && !by_action) || by_element_send_key
|
69
|
-
send_keys(element, symbol, :element_send_key)
|
70
|
-
else
|
71
|
-
send_keys(element, symbol, by_action)
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
61
|
def send_keys(xpath_name, text_to_send, by_action = true)
|
77
62
|
element = get_element(xpath_name)
|
78
63
|
@driver.action.click(element).perform if @browser == :firefox
|
@@ -1,10 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module OnlyofficeWebdriverWrapper
|
2
4
|
# Module for wokring with webdriver useragent
|
3
5
|
module WebdriverUserAgentHelper
|
4
|
-
USERAGENT_ANDROID_PHONE = 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MDB08M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36'
|
5
|
-
USERAGENT_IPHONE = 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13F69 Safari/601.1'
|
6
|
-
USERAGENT_IPAD_AIR_2_SAFARI = 'Mozilla/5.0 (iPad; CPU OS 10_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A5346a Safari/602.1'
|
7
|
-
USERAGENT_NEXUS_10_CHROME = 'Mozilla/5.0 (Linux; Android 4.3; Nexus 10 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Safari/537.36'
|
6
|
+
USERAGENT_ANDROID_PHONE = 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MDB08M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36'
|
7
|
+
USERAGENT_IPHONE = 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13F69 Safari/601.1'
|
8
|
+
USERAGENT_IPAD_AIR_2_SAFARI = 'Mozilla/5.0 (iPad; CPU OS 10_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A5346a Safari/602.1'
|
9
|
+
USERAGENT_NEXUS_10_CHROME = 'Mozilla/5.0 (Linux; Android 4.3; Nexus 10 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.23 Safari/537.36'
|
8
10
|
|
9
11
|
# @return [String] user agent string for current device
|
10
12
|
def user_agent_for_device
|
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: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Lobashov
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2019-10-18 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: headless
|
@@ -74,42 +74,42 @@ dependencies:
|
|
74
74
|
requirements:
|
75
75
|
- - "~>"
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: 2
|
77
|
+
version: '2'
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
82
|
- - "~>"
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: 2
|
84
|
+
version: '2'
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: selenium-webdriver
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
89
|
- - '='
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: 3.
|
91
|
+
version: 3.142.6
|
92
92
|
type: :runtime
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
96
|
- - '='
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: 3.
|
98
|
+
version: 3.142.6
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
100
|
name: watir
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
103
|
- - "~>"
|
104
104
|
- !ruby/object:Gem::Version
|
105
|
-
version: 6
|
105
|
+
version: '6'
|
106
106
|
type: :runtime
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
110
|
- - "~>"
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: 6
|
112
|
+
version: '6'
|
113
113
|
description: onlyoffice_webdriver_wrapper
|
114
114
|
email:
|
115
115
|
- shockwavenn@gmail.com
|
@@ -136,7 +136,6 @@ files:
|
|
136
136
|
- lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_browser_info_helper.rb
|
137
137
|
- lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_browser_log_helper.rb
|
138
138
|
- lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_exceptions.rb
|
139
|
-
- lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_extension.rb
|
140
139
|
- lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_helper.rb
|
141
140
|
- lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_js_methods.rb
|
142
141
|
- lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_screenshot_helper.rb
|
@@ -156,15 +155,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
156
155
|
requirements:
|
157
156
|
- - ">="
|
158
157
|
- !ruby/object:Gem::Version
|
159
|
-
version: '2.
|
158
|
+
version: '2.3'
|
160
159
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
161
160
|
requirements:
|
162
161
|
- - ">="
|
163
162
|
- !ruby/object:Gem::Version
|
164
163
|
version: '0'
|
165
164
|
requirements: []
|
166
|
-
|
167
|
-
rubygems_version: 2.7.6
|
165
|
+
rubygems_version: 3.0.6
|
168
166
|
signing_key:
|
169
167
|
specification_version: 4
|
170
168
|
summary: ONLYOFFICE Webdriver Wrapper Gem
|