onlyoffice_webdriver_wrapper 1.24.0 → 1.25.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a5a94ed0ce58d72ed1aeb6068d56b09ab71fb982616c64d556ed8cbbb1343227
4
- data.tar.gz: 79706c16aad85d980b3eb5ae6ca5afddea8f2ea549b6ea221d61573d4e0205a7
3
+ metadata.gz: 0406be22f647d768ab1a08c35913d5a70f092e9309fbcce7200318d8e389a8fb
4
+ data.tar.gz: d26222a0ff2421bae631f8797bf68d0deab8e78ad971161c901acb6a0cee1f90
5
5
  SHA512:
6
- metadata.gz: 511ff3a3bbf496bb9b0d3b3aff458891a2ef61f461b1416b947e46c60f3625dfd3fbb572d4474b39a18eff8bc17da4430cfc50a618e2e54d034b50c0d603c8c0
7
- data.tar.gz: ad0ee6f6af4eb0dd472d550b70b04f94f731ea11f48d63559fdbd6f4b724edcbcf744d4ace173fe63c1ce64283dabf45f9675e1a88bd5dce46b20e24d3a2f6c8
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.24.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.24.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-03-13 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_120
139
138
  - lib/onlyoffice_webdriver_wrapper/helpers/chrome_helper/chromedriver_bin/chromedriver_linux_121
140
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.6
198
+ rubygems_version: 3.5.7
199
199
  signing_key:
200
200
  specification_version: 4
201
201
  summary: ONLYOFFICE Webdriver Wrapper Gem