onlyoffice_webdriver_wrapper 0.3.5 → 0.4.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 +4 -4
- data/lib/onlyoffice_webdriver_wrapper/helpers/headless_helper.rb +3 -0
- data/lib/onlyoffice_webdriver_wrapper/version.rb +1 -1
- data/lib/onlyoffice_webdriver_wrapper/webdriver.rb +6 -13
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_attributes_helper.rb +19 -0
- data/lib/onlyoffice_webdriver_wrapper/webdriver/webdriver_js_methods.rb +6 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 198918d5a397566f6099da61229da418520359f28a8eae58c554291303319ccb
|
4
|
+
data.tar.gz: a4f7e7764c1a49456b5eed0d8a851a20eb6a3fc38890b222c66540927b03fa11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c7bbf7385332599f38140a7457db436d79ffb298ba63d0895d8582f8092049962b69b6b819ff27b2700e42d6a0ed272776714ef6fc4a4ddc523549e746cde17
|
7
|
+
data.tar.gz: 4776a813a596cbb702e4b1a9664ca22b92f65b5eeebe1523adc5ff29b012abee0a698451eab7802cc8c4933f85d8c808244ef29e487693f6d668a0260340cd34
|
@@ -10,8 +10,11 @@ module OnlyofficeWebdriverWrapper
|
|
10
10
|
class HeadlessHelper
|
11
11
|
include RealDisplayTools
|
12
12
|
include RubyHelper
|
13
|
+
# @return [Headless] instance of headless object
|
13
14
|
attr_accessor :headless_instance
|
15
|
+
# @return [Integer] x resolution of virtual screen
|
14
16
|
attr_accessor :resolution_x
|
17
|
+
# @return [Integer] y resolution of virtual screen
|
15
18
|
attr_accessor :resolution_y
|
16
19
|
|
17
20
|
def initialize(resolution_x = 1680, resolution_y = 1050)
|
@@ -44,13 +44,15 @@ module OnlyofficeWebdriverWrapper
|
|
44
44
|
TIMEOUT_FILE_DOWNLOAD = 100
|
45
45
|
# @return [Array, String] default switches for chrome
|
46
46
|
attr_accessor :driver
|
47
|
+
# @return [Symbol] browser to use
|
47
48
|
attr_accessor :browser
|
48
49
|
# @return [True, False] is browser currently running
|
49
50
|
attr_reader :browser_running
|
50
51
|
# @return [Symbol] device of which we try to simulate, default - :desktop_linux
|
51
52
|
attr_accessor :device
|
53
|
+
# @return [String] directory to which file is downloaded
|
52
54
|
attr_accessor :download_directory
|
53
|
-
|
55
|
+
# @return [HeadlessHelper] headless wrapper
|
54
56
|
attr_accessor :headless
|
55
57
|
# @return [Net::HTTP::Proxy] connection proxy
|
56
58
|
attr_accessor :proxy
|
@@ -241,9 +243,10 @@ module OnlyofficeWebdriverWrapper
|
|
241
243
|
end
|
242
244
|
|
243
245
|
def element_present?(xpath_name)
|
244
|
-
|
246
|
+
case xpath_name
|
247
|
+
when PageObject::Elements::Element
|
245
248
|
xpath_name.present?
|
246
|
-
|
249
|
+
when Selenium::WebDriver::Element
|
247
250
|
xpath_name.displayed?
|
248
251
|
else
|
249
252
|
@driver.find_element(:xpath, xpath_name)
|
@@ -369,16 +372,6 @@ module OnlyofficeWebdriverWrapper
|
|
369
372
|
@driver.find_elements(:xpath, xpath_several_elements).map { |element| element.text unless element.text == '' }.compact
|
370
373
|
end
|
371
374
|
|
372
|
-
def set_parameter(xpath, attribute, attribute_value)
|
373
|
-
execute_javascript("document.evaluate(\"#{xpath.tr('"', "'")}\",document, null, XPathResult.ANY_TYPE, null ).iterateNext()." \
|
374
|
-
"#{attribute}=\"#{attribute_value}\";")
|
375
|
-
end
|
376
|
-
|
377
|
-
def remove_attribute(xpath, attribute)
|
378
|
-
execute_javascript("document.evaluate(\"#{xpath}\",document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null)." \
|
379
|
-
"singleNodeValue.removeAttribute('#{attribute}');")
|
380
|
-
end
|
381
|
-
|
382
375
|
def select_combo_box(xpath_name, select_value, select_by = :value)
|
383
376
|
wait_until_element_visible(xpath_name)
|
384
377
|
option = Selenium::WebDriver::Support::Select.new(get_element(xpath_name))
|
@@ -40,5 +40,24 @@ module OnlyofficeWebdriverWrapper
|
|
40
40
|
end
|
41
41
|
0
|
42
42
|
end
|
43
|
+
|
44
|
+
# Set element attribute
|
45
|
+
# @param xpath [String] element to select
|
46
|
+
# @param attribute [String] attribute to set
|
47
|
+
# @param attribute_value [String] value of attribute
|
48
|
+
# @return [String] result of execution
|
49
|
+
def set_attribute(xpath, attribute, attribute_value)
|
50
|
+
execute_javascript("#{dom_element_by_xpath(xpath)}.#{attribute}=\"#{attribute_value}\";")
|
51
|
+
end
|
52
|
+
|
53
|
+
alias set_parameter set_attribute
|
54
|
+
|
55
|
+
# Remove attribute of element
|
56
|
+
# @param xpath [String] xpath of element
|
57
|
+
# @param attribute [String] attribute to remove
|
58
|
+
# @return [String] result of execution
|
59
|
+
def remove_attribute(xpath, attribute)
|
60
|
+
execute_javascript("#{dom_element_by_xpath(xpath)}.removeAttribute('#{attribute}');")
|
61
|
+
end
|
43
62
|
end
|
44
63
|
end
|
@@ -28,8 +28,13 @@ module OnlyofficeWebdriverWrapper
|
|
28
28
|
execute_javascript("document.evaluate('#{xpath_name}', document, null, XPathResult.ANY_TYPE, null).iterateNext().value=\"#{escaped_text}\";")
|
29
29
|
end
|
30
30
|
|
31
|
+
# Get text in object by xpath
|
32
|
+
# @param xpath [String] xpath to get text
|
33
|
+
# @return [String] text in xpath
|
31
34
|
def get_text_by_js(xpath)
|
32
|
-
execute_javascript("return
|
35
|
+
text = execute_javascript("return #{dom_element_by_xpath(xpath)}.textContent")
|
36
|
+
text = execute_javascript("return #{dom_element_by_xpath(xpath)}.value") if text.empty?
|
37
|
+
text
|
33
38
|
end
|
34
39
|
|
35
40
|
# Calculate object size using Javascript
|
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.
|
4
|
+
version: 0.4.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: 2020-07-
|
14
|
+
date: 2020-07-30 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: headless
|