onlyoffice_documentserver_testing_framework 2.8.0 → 2.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_documentserver_testing_framework/selenium_wrapper/selenium_wrapper_js_errors.rb +2 -2
- data/lib/onlyoffice_documentserver_testing_framework/selenium_wrapper.rb +2 -9
- data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_editor/doc_editor_top_toolbar/title_row.rb +9 -0
- data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_test_site_functions/file_reopen_helper.rb +1 -1
- data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_test_site_functions/languages_list/doc_test_site_languages_after_7_2.list +38 -0
- data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_test_site_functions.rb +15 -13
- data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/management/manager_messages_checker.rb +1 -1
- data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/management.rb +8 -8
- data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs.rb +1 -1
- data/lib/onlyoffice_documentserver_testing_framework/version.rb +1 -1
- metadata +10 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 55a2459e9a085a04258ca443ebf12015c9172da446bc02f66b23412ff5c0f73d
|
4
|
+
data.tar.gz: afb457e1bbd206f22eac136925ae60db2ef15bb66f827fce604d21c5318f58a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b75a9dbf49c2e1dbc50c534e8ae6dcabfa208f6b2f7997e226ecd361c7437c2afc534b1b4a30c675f3a2887139c515fa9f46218a5b4194260ac1b192239dabc4
|
7
|
+
data.tar.gz: cfe0e6f4783d8e5f3b141d680b5d626909a9129795016990d8a86e639afe73c49a46694bec278eb1cf70fc51312be7e13eeb18cd3c69d0a9aa5a94fc15a45e53
|
data/lib/onlyoffice_documentserver_testing_framework/selenium_wrapper/selenium_wrapper_js_errors.rb
CHANGED
@@ -6,8 +6,8 @@ module SeleniumWrapperJsErrors
|
|
6
6
|
def ignored_errors
|
7
7
|
return @ignored_errors if @ignored_errors
|
8
8
|
|
9
|
-
@ignored_errors = File.readlines("#{File.expand_path('..', __dir__)}"\
|
10
|
-
'/selenium_wrapper/selenium_wrapper_js_errors'\
|
9
|
+
@ignored_errors = File.readlines("#{File.expand_path('..', __dir__)}" \
|
10
|
+
'/selenium_wrapper/selenium_wrapper_js_errors' \
|
11
11
|
'/ignored_errors.list')
|
12
12
|
.map(&:strip)
|
13
13
|
end
|
@@ -91,8 +91,8 @@ module OnlyofficeDocumentserverTestingFramework
|
|
91
91
|
# @param xpath [String] xpath to click
|
92
92
|
# @return [nil]
|
93
93
|
def click_on_displayed_button(xpath)
|
94
|
-
selenium_functions
|
95
|
-
selenium_functions
|
94
|
+
selenium_functions(:wait_until_element_visible, xpath)
|
95
|
+
selenium_functions(:click_on_displayed, xpath)
|
96
96
|
end
|
97
97
|
|
98
98
|
# Is line enabled
|
@@ -116,13 +116,6 @@ module OnlyofficeDocumentserverTestingFramework
|
|
116
116
|
selenium_functions(:get_attribute, xpath, 'class').include?('disabled')
|
117
117
|
end
|
118
118
|
|
119
|
-
# Move to element
|
120
|
-
# @param xpath [String] xpath to move
|
121
|
-
# @return [nil]
|
122
|
-
def move_to_element(xpath)
|
123
|
-
selenium_functions :move_to_element_by_locator, xpath
|
124
|
-
end
|
125
|
-
|
126
119
|
# Remove element
|
127
120
|
# @param xpath [String] xpath to remove
|
128
121
|
# @return [nil]
|
@@ -27,6 +27,15 @@ module OnlyofficeDocumentserverTestingFramework
|
|
27
27
|
name[-1] == '*'
|
28
28
|
end
|
29
29
|
|
30
|
+
# Rename current document
|
31
|
+
# @param [String] new_name to rename
|
32
|
+
# @return [nil]
|
33
|
+
def rename(new_name)
|
34
|
+
selenium_functions(:type_to_locator, @xpath_document_name, "#{new_name}\n", true, true)
|
35
|
+
OnlyofficeLoggerHelper.log("Renamed document to `#{new_name}` name")
|
36
|
+
OnlyofficeLoggerHelper.sleep_and_log('Wait for rename to complete', 5)
|
37
|
+
end
|
38
|
+
|
30
39
|
private
|
31
40
|
|
32
41
|
# @return [String] raw data from document name
|
@@ -7,7 +7,7 @@ module OnlyofficeDocumentserverTestingFramework
|
|
7
7
|
# @param [Integer] timeout for wait for file to build
|
8
8
|
# @return [Boolean] result of opening
|
9
9
|
def reopen_after_autosave(timeout: 30)
|
10
|
-
url = @instance.selenium.
|
10
|
+
url = @instance.selenium.current_url
|
11
11
|
leave_file_and_build_it(timeout: timeout)
|
12
12
|
@instance.webdriver.open(url)
|
13
13
|
@instance.management.wait_for_operation_with_round_status_canvas
|
@@ -0,0 +1,38 @@
|
|
1
|
+
English
|
2
|
+
Armenian
|
3
|
+
Azerbaijani
|
4
|
+
Basque
|
5
|
+
Belarusian
|
6
|
+
Bulgarian
|
7
|
+
Catalan
|
8
|
+
Chinese (People's Republic of China)
|
9
|
+
Chinese (Traditional, Taiwan)
|
10
|
+
Czech
|
11
|
+
Danish
|
12
|
+
Dutch
|
13
|
+
Finnish
|
14
|
+
French
|
15
|
+
Galego
|
16
|
+
German
|
17
|
+
Greek
|
18
|
+
Hungarian
|
19
|
+
Indonesian
|
20
|
+
Italian
|
21
|
+
Japanese
|
22
|
+
Korean
|
23
|
+
Latvian
|
24
|
+
Lao
|
25
|
+
Malay (Malaysia)
|
26
|
+
Norwegian
|
27
|
+
Polish
|
28
|
+
Portuguese (Brazil)
|
29
|
+
Portuguese (Portugal)
|
30
|
+
Romanian
|
31
|
+
Russian
|
32
|
+
Slovak
|
33
|
+
Slovenian
|
34
|
+
Spanish
|
35
|
+
Swedish
|
36
|
+
Turkish
|
37
|
+
Ukrainian
|
38
|
+
Vietnamese
|
data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_test_site_functions.rb
CHANGED
@@ -21,11 +21,11 @@ class DocTestSiteFunctions
|
|
21
21
|
@xpath_conversion_step = '//*[@id="step2"]'
|
22
22
|
@xpath_editor_scripts_step = '//*[@id="step3"]'
|
23
23
|
@xpath_file_entry = '//*[@class="stored-list"]//table/tbody/tr'
|
24
|
-
@xpath_create_doc = '//*[contains(@class, "try-editor document")]|'\
|
24
|
+
@xpath_create_doc = '//*[contains(@class, "try-editor document")]|' \
|
25
25
|
'//*[contains(@class, "try-editor word")]'
|
26
|
-
@xpath_create_workbook = '//*[contains(@class, "try-editor spreadsheet")]|'\
|
26
|
+
@xpath_create_workbook = '//*[contains(@class, "try-editor spreadsheet")]|' \
|
27
27
|
'//*[contains(@class, "try-editor cell")]'
|
28
|
-
@xpath_create_presentation = '//*[contains(@class, "try-editor presentation")]|'\
|
28
|
+
@xpath_create_presentation = '//*[contains(@class, "try-editor presentation")]|' \
|
29
29
|
'//*[contains(@class, "try-editor slide")]'
|
30
30
|
@edit_modes_indexes = edit_modes_indexes
|
31
31
|
end
|
@@ -57,7 +57,7 @@ class DocTestSiteFunctions
|
|
57
57
|
# Upload file to portal
|
58
58
|
# @param [String] file_path like as '/mnt/data_share/Files/DOCX/empty.docx'
|
59
59
|
def upload_file(file_path)
|
60
|
-
file_path_absolute = file_path.gsub('~',
|
60
|
+
file_path_absolute = file_path.gsub('~', Dir.home)
|
61
61
|
@instance.selenium.type_to_locator('//*[@id="fileupload"]', file_path_absolute, false, false, false, true)
|
62
62
|
wait_loading_file
|
63
63
|
wait_conversion
|
@@ -72,7 +72,7 @@ class DocTestSiteFunctions
|
|
72
72
|
|
73
73
|
return if error_message.empty?
|
74
74
|
|
75
|
-
@instance.selenium.webdriver_error('Error while uploading document. '\
|
75
|
+
@instance.selenium.webdriver_error('Error while uploading document. ' \
|
76
76
|
"Error message: #{error_message}")
|
77
77
|
end
|
78
78
|
|
@@ -150,7 +150,7 @@ class DocTestSiteFunctions
|
|
150
150
|
# Get url of document which opened in editor
|
151
151
|
# @return [String] url
|
152
152
|
def current_document_storage_url
|
153
|
-
page_source = @instance.selenium.
|
153
|
+
page_source = @instance.selenium.page_source
|
154
154
|
url_line = page_source.scan(/"?url"?: ".*$/).first
|
155
155
|
url_line.delete('"').gsub('url: ', '').chop
|
156
156
|
end
|
@@ -224,16 +224,18 @@ class DocTestSiteFunctions
|
|
224
224
|
|
225
225
|
# @param [DocumentServerVersion] version of server
|
226
226
|
# @return [Array<String>] list of supported languages
|
227
|
-
def self.supported_languages(version = OnlyofficeDocumentserverTestingFramework::DocumentServerVersion.new(
|
228
|
-
file = if version >= OnlyofficeDocumentserverTestingFramework::DocumentServerVersion.new(7,
|
227
|
+
def self.supported_languages(version = OnlyofficeDocumentserverTestingFramework::DocumentServerVersion.new(7, 1, 0))
|
228
|
+
file = if version >= OnlyofficeDocumentserverTestingFramework::DocumentServerVersion.new(7, 2)
|
229
|
+
'doc_test_site_languages_after_7_2.list'
|
230
|
+
elsif version >= OnlyofficeDocumentserverTestingFramework::DocumentServerVersion.new(7, 1)
|
229
231
|
'doc_test_site_languages_after_7_1.list'
|
230
232
|
elsif version >= OnlyofficeDocumentserverTestingFramework::DocumentServerVersion.new(6, 2)
|
231
233
|
'doc_test_site_languages_after_6_2.list'
|
232
234
|
else
|
233
235
|
'doc_test_site_languages_before_6_2.list'
|
234
236
|
end
|
235
|
-
File.readlines("#{File.expand_path('..', __dir__)}"\
|
236
|
-
'/test_instance_docs/doc_test_site_functions/'\
|
237
|
+
File.readlines("#{File.expand_path('..', __dir__)}" \
|
238
|
+
'/test_instance_docs/doc_test_site_functions/' \
|
237
239
|
"languages_list/#{file}")
|
238
240
|
.map(&:strip)
|
239
241
|
end
|
@@ -244,9 +246,9 @@ class DocTestSiteFunctions
|
|
244
246
|
# @return [Hash] name with index
|
245
247
|
def default_modes_indexes
|
246
248
|
{
|
247
|
-
comment_mode:
|
248
|
-
review_mode:
|
249
|
-
fill_forms:
|
249
|
+
comment_mode: 2,
|
250
|
+
review_mode: 4,
|
251
|
+
fill_forms: 6,
|
250
252
|
view_mode: 8,
|
251
253
|
embedded: 10
|
252
254
|
}
|
@@ -14,7 +14,7 @@ module OnlyofficeDocumentserverTestingFramework
|
|
14
14
|
|
15
15
|
# @return [Boolean] is `File not found` message shown
|
16
16
|
def file_not_found_message?
|
17
|
-
message_xpath = '//div[contains(@class, "tooltip-inner") and '\
|
17
|
+
message_xpath = '//div[contains(@class, "tooltip-inner") and ' \
|
18
18
|
'contains(text(),"The required file was not found")]'
|
19
19
|
@instance.selenium.select_frame
|
20
20
|
error_on_loading = @instance.selenium.element_visible?(message_xpath)
|
@@ -22,7 +22,7 @@ module OnlyofficeDocumentserverTestingFramework
|
|
22
22
|
@instance = instance
|
23
23
|
@xpath_iframe_count = 1
|
24
24
|
# Don't mixup iframe with help
|
25
|
-
@xpath_iframe = '//iframe[not(contains(@src, "/help/")) and '\
|
25
|
+
@xpath_iframe = '//iframe[not(contains(@src, "/help/")) and ' \
|
26
26
|
'not(contains(@id, "fileFrame"))]'
|
27
27
|
@alert_dialog_xpath = '//div[@role="alertdialog"]'
|
28
28
|
@alert_dialog_span_xpath = "#{@alert_dialog_xpath}/div/div/div/span"
|
@@ -33,7 +33,7 @@ module OnlyofficeDocumentserverTestingFramework
|
|
33
33
|
# @return [Boolean] check if loader present
|
34
34
|
def loading_present?
|
35
35
|
if @instance.webdriver.alert_exists?
|
36
|
-
raise 'Service Unavailable. There is alert while loading docs: '\
|
36
|
+
raise 'Service Unavailable. There is alert while loading docs: ' \
|
37
37
|
"\"#{@instance.webdriver.alert_text}\""
|
38
38
|
end
|
39
39
|
|
@@ -76,7 +76,7 @@ module OnlyofficeDocumentserverTestingFramework
|
|
76
76
|
while timer < timeout && !loading_present?
|
77
77
|
sleep 1
|
78
78
|
timer += 1
|
79
|
-
OnlyofficeLoggerHelper.log('Waiting for start loading of documents. '\
|
79
|
+
OnlyofficeLoggerHelper.log('Waiting for start loading of documents. ' \
|
80
80
|
"Waiting for #{timer} seconds of #{timeout}")
|
81
81
|
end
|
82
82
|
return unless timer == timeout
|
@@ -98,8 +98,8 @@ module OnlyofficeDocumentserverTestingFramework
|
|
98
98
|
while loading_present?
|
99
99
|
sleep(1)
|
100
100
|
current_wait_time += 1
|
101
|
-
OnlyofficeLoggerHelper.log('Waiting for Round Status for '\
|
102
|
-
"#{current_wait_time} of "\
|
101
|
+
OnlyofficeLoggerHelper.log('Waiting for Round Status for ' \
|
102
|
+
"#{current_wait_time} of " \
|
103
103
|
"#{timeout_in_seconds} timeout")
|
104
104
|
@instance.doc_editor.windows.txt_options.txt_options = 'Unicode (UTF-8)'
|
105
105
|
@instance.spreadsheet_editor.windows.csv_option.csv_options = options
|
@@ -174,8 +174,8 @@ module OnlyofficeDocumentserverTestingFramework
|
|
174
174
|
# Add js code to handle JS errors
|
175
175
|
# @return [nil]
|
176
176
|
def add_error_handler
|
177
|
-
js_handler = 'window.jsErrors = [];'\
|
178
|
-
'window.onerror = function(errorMessage) '\
|
177
|
+
js_handler = 'window.jsErrors = [];' \
|
178
|
+
'window.onerror = function(errorMessage) ' \
|
179
179
|
'{window.jsErrors[window.jsErrors.length] = errorMessage;}'
|
180
180
|
@instance.selenium.select_frame @instance.management.xpath_iframe
|
181
181
|
@instance.selenium.execute_javascript(js_handler)
|
@@ -185,7 +185,7 @@ module OnlyofficeDocumentserverTestingFramework
|
|
185
185
|
# @return [Symbol] editor typo of opened document
|
186
186
|
def editor_type
|
187
187
|
@instance.selenium.select_top_frame
|
188
|
-
url = selenium_functions(:
|
188
|
+
url = selenium_functions(:current_url)
|
189
189
|
case url
|
190
190
|
when /documenteditor/
|
191
191
|
:document
|
@@ -72,7 +72,7 @@ module OnlyofficeDocumentserverTestingFramework
|
|
72
72
|
def env_options
|
73
73
|
return @env_options if @env_options
|
74
74
|
|
75
|
-
raw_options = ENV
|
75
|
+
raw_options = ENV.fetch('ONLYOFFICE_DS_TESTING_OPTIONS', '{}')
|
76
76
|
@env_options = JSON.parse(raw_options)
|
77
77
|
@env_options['IgnoredJSErrors'] = [] unless @env_options['IgnoredJSErrors']
|
78
78
|
@env_options
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: onlyoffice_documentserver_testing_framework
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ONLYOFFICE
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-08-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: onlyoffice_logger_helper
|
@@ -32,6 +32,9 @@ dependencies:
|
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '1'
|
35
|
+
- - ">="
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 1.10.0
|
35
38
|
type: :runtime
|
36
39
|
prerelease: false
|
37
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -39,6 +42,9 @@ dependencies:
|
|
39
42
|
- - "~>"
|
40
43
|
- !ruby/object:Gem::Version
|
41
44
|
version: '1'
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.10.0
|
42
48
|
- !ruby/object:Gem::Dependency
|
43
49
|
name: overcommit
|
44
50
|
requirement: !ruby/object:Gem::Requirement
|
@@ -205,6 +211,7 @@ files:
|
|
205
211
|
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_test_site_functions/healthcheck_page.rb
|
206
212
|
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_test_site_functions/languages_list/doc_test_site_languages_after_6_2.list
|
207
213
|
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_test_site_functions/languages_list/doc_test_site_languages_after_7_1.list
|
214
|
+
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_test_site_functions/languages_list/doc_test_site_languages_after_7_2.list
|
208
215
|
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_test_site_functions/languages_list/doc_test_site_languages_before_6_2.list
|
209
216
|
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/integration_example_api.rb
|
210
217
|
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/management.rb
|
@@ -241,7 +248,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
241
248
|
- !ruby/object:Gem::Version
|
242
249
|
version: '0'
|
243
250
|
requirements: []
|
244
|
-
rubygems_version: 3.3.
|
251
|
+
rubygems_version: 3.3.20
|
245
252
|
signing_key:
|
246
253
|
specification_version: 4
|
247
254
|
summary: ONLYOFFICE DocumentServer testing framework
|