onlyoffice_webdriver_wrapper 1.23.0 → 1.25.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec2cb528c8212a9ff9011af0caf6ff305ee9d6eda31166c9317e25a4ea84616c
4
- data.tar.gz: 8944c900bee38bb4dc5094b16300182ec61655a68a99c09f388f5615bf5810dd
3
+ metadata.gz: 0406be22f647d768ab1a08c35913d5a70f092e9309fbcce7200318d8e389a8fb
4
+ data.tar.gz: d26222a0ff2421bae631f8797bf68d0deab8e78ad971161c901acb6a0cee1f90
5
5
  SHA512:
6
- metadata.gz: 88cc85369da2bfe0e256398f13af7ec97f88a38817be73a5feffc39ae67a1fa5e2976f94d16cb88382fb2296a149138ab8954eb5e34aaa092acacfab499e0490
7
- data.tar.gz: 8f371876ed4fa8ce118a5ff154fb791396f4449074fddd89dc4d79314604685dce6457752bf631f4969299e03c8a83cbacdf557335f754af670c761a5c908302
6
+ metadata.gz: da00a809ec9fef9ee8da435da9f081cdca14e166852357f231cbf0b191cba734956ef241252a1b4d95474c20aa0584889cf911e5274685d0ba0e14fb62c4f219
7
+ data.tar.gz: a8a234dc690e7d63bf83c03cf613257705b913f5d47da44004b53b4a9afb86c747bd1080ceec1b6c23bd5a68ebcdf3d4a0dc517115beeb660f6f59194d0b5532
@@ -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.23.0'
7
+ STRING = '1.25.0'
8
8
  end
9
9
  end
@@ -14,7 +14,8 @@ module OnlyofficeWebdriverWrapper
14
14
  # @param xpath_name [String] xpath to click
15
15
  # @param by_javascript [True, False] should be clicked by javascript
16
16
  # @param count [Integer] count of clicks
17
- def click_on_locator(xpath_name, by_javascript = false, count: 1)
17
+ # @param after_timeout [Integer] timeout after click
18
+ def click_on_locator(xpath_name, by_javascript = false, count: 1, after_timeout: 0)
18
19
  element = get_element(xpath_name)
19
20
  return webdriver_error("Element with xpath: #{xpath_name} not found") if element.nil?
20
21
 
@@ -22,7 +23,10 @@ module OnlyofficeWebdriverWrapper
22
23
  execute_javascript("#{dom_element_by_xpath(xpath_name)}.click();")
23
24
  else
24
25
  begin
25
- count.times { element.click }
26
+ count.times do
27
+ element.click
28
+ sleep(after_timeout)
29
+ end
26
30
  rescue Selenium::WebDriver::Error::ElementNotInteractableError => e
27
31
  webdriver_error(e.class,
28
32
  'Selenium::WebDriver::Error::ElementNotInteractableError: ' \
@@ -22,7 +22,7 @@ module OnlyofficeWebdriverWrapper
22
22
  @driver.find_elements(:xpath, xpath_name).each do |element|
23
23
  return element if element.displayed?
24
24
  end
25
- rescue Selenium::WebDriver::Error::InvalidSelectorError
25
+ rescue Selenium::WebDriver::Error::InvalidSelectorError, Selenium::WebDriver::Error::JavascriptError
26
26
  webdriver_error(Selenium::WebDriver::Error::InvalidSelectorError,
27
27
  "Invalid Selector: get_element_by_display('#{xpath_name}')")
28
28
  end
@@ -50,22 +50,16 @@ module OnlyofficeWebdriverWrapper
50
50
  end
51
51
  end
52
52
 
53
- if click_on_it
54
- click_on_locator(xpath_name)
55
- sleep 0.2
56
- end
53
+ click_on_locator(xpath_name, after_timeout: 0.2) if click_on_it
57
54
 
58
55
  if (@browser != :chrome && !by_action) || by_element_send_key
59
56
  element.send_keys text_to_send
60
- elsif text_to_send != ''
61
- if text_to_send.is_a?(String)
62
- text_to_send.chars.each do |symbol|
63
- @driver.action.send_keys(symbol).perform
64
- end
65
- else
66
- webdriver_bug_8179_workaround(text_to_send)
67
- end
57
+ else
58
+ send_text_by_chars(text_to_send)
68
59
  end
60
+ rescue Selenium::WebDriver::Error::JavascriptError
61
+ webdriver_error(Selenium::WebDriver::Error::InvalidElementStateError,
62
+ "Invalid state of element: #{xpath_name}")
69
63
  end
70
64
 
71
65
  # Type text to input
@@ -171,5 +165,20 @@ module OnlyofficeWebdriverWrapper
171
165
  @driver.action.key_up(modifier).perform
172
166
  end
173
167
  end
168
+
169
+ # Send text by chars
170
+ # @param [String] text_to_send text to type
171
+ # @return [void]
172
+ def send_text_by_chars(text_to_send)
173
+ return if text_to_send == ''
174
+
175
+ if text_to_send.is_a?(String)
176
+ text_to_send.chars.each do |symbol|
177
+ @driver.action.send_keys(symbol).perform
178
+ end
179
+ else
180
+ webdriver_bug_8179_workaround(text_to_send)
181
+ end
182
+ end
174
183
  end
175
184
  end
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.23.0
4
+ version: 1.25.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: 2024-02-05 00:00:00.000000000 Z
14
+ date: 2024-04-10 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: headless
@@ -135,9 +135,9 @@ files:
135
135
  - lib/onlyoffice_webdriver_wrapper/helpers/bin/geckodriver
136
136
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper.rb
137
137
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chrome_version_helper.rb
138
- - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_119
139
- - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_120
140
138
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_121
139
+ - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_122
140
+ - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_123
141
141
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_mac
142
142
  - lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper.rb
143
143
  - lib/onlyoffice_webdriver_wrapper/helpers/firefox_helper/save_to_disk_files.list
@@ -195,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
195
195
  - !ruby/object:Gem::Version
196
196
  version: '0'
197
197
  requirements: []
198
- rubygems_version: 3.5.5
198
+ rubygems_version: 3.5.7
199
199
  signing_key:
200
200
  specification_version: 4
201
201
  summary: ONLYOFFICE Webdriver Wrapper Gem