onlyoffice_documentserver_testing_framework 2.7.1 → 2.8.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_documentserver_testing_framework/test_instance_docs/doc_editor/doc_editor_top_toolbar/home_tab/editor_tab.rb +56 -0
- data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_editor/doc_editor_top_toolbar/home_tab.rb +16 -0
- data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_editor/doc_editor_top_toolbar.rb +6 -0
- data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/management.rb +16 -0
- data/lib/onlyoffice_documentserver_testing_framework/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 341504efd44e53df56234a60d803c6a00baee4350e78cd7c74a861009b8fd56c
|
4
|
+
data.tar.gz: 4665427fdc68fc72eb5cdafa1e032947c15f0d53f74bb5dadafae7c9a0c5aa04
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: edb27a38de4d8844ff5fa5d99a11189465749a83e7890888f23b70025151354e328b3bfc9b194032870ee028df84155d0872967058591ee7a1a788d00b9902d6
|
7
|
+
data.tar.gz: 07e47e22020a05fdf08ef96d95830ac92dff4c2e27f57f3c8ee2f623eb492cabf828c1b3cbecf0f0b48fcb1e226b3a5cc3848aac87dc63f73b3aed9ffea084f9
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OnlyofficeDocumentserverTestingFramework
|
4
|
+
# Meta class to describe editors tabs
|
5
|
+
class EditorTab
|
6
|
+
include SeleniumWrapper
|
7
|
+
|
8
|
+
def initialize(instance, tab_xpath: nil, tab_name: 'Default tab name')
|
9
|
+
@instance = instance
|
10
|
+
@xpath_insert_tab = tab_xpath
|
11
|
+
@tab_name = tab_name
|
12
|
+
end
|
13
|
+
|
14
|
+
# @return [True, False] is tab present
|
15
|
+
def present?
|
16
|
+
result = visible?(@xpath_insert_tab)
|
17
|
+
OnlyofficeLoggerHelper.log("#{@tab_name} Tab present?: #{result}")
|
18
|
+
result
|
19
|
+
end
|
20
|
+
|
21
|
+
# @return [True, False] if this tab opened
|
22
|
+
def active?
|
23
|
+
active = get_attribute(@xpath_insert_tab, 'class').include?('active')
|
24
|
+
OnlyofficeLoggerHelper.log("#{@tab_name} Tab active?: #{active}")
|
25
|
+
active
|
26
|
+
end
|
27
|
+
|
28
|
+
# Click on tab
|
29
|
+
# @return [Nothing]
|
30
|
+
def click
|
31
|
+
click_on_button(@xpath_insert_tab)
|
32
|
+
OnlyofficeLoggerHelper.log("Clicked on #{@tab_name} Tab")
|
33
|
+
sleep 2 # timeout for tab animation
|
34
|
+
end
|
35
|
+
|
36
|
+
# Double click on tab
|
37
|
+
# @return [Nothing]
|
38
|
+
def double_click
|
39
|
+
selenium_functions(:double_click, @xpath_insert_tab)
|
40
|
+
OnlyofficeLoggerHelper.log("Double Clicked on #{@tab_name} Tab")
|
41
|
+
sleep 2 # need time to toolbar to hide
|
42
|
+
end
|
43
|
+
|
44
|
+
# Open current tab
|
45
|
+
# @param [Boolean] to_open open or close this tab
|
46
|
+
# @return [Void]
|
47
|
+
# rubocop disable to not change interface of public method
|
48
|
+
# rubocop:disable Style/OptionalBooleanParameter
|
49
|
+
def open(to_open = true)
|
50
|
+
return if to_open == active?
|
51
|
+
|
52
|
+
click
|
53
|
+
end
|
54
|
+
# rubocop:enable Style/OptionalBooleanParameter
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'home_tab/editor_tab'
|
4
|
+
|
5
|
+
module OnlyofficeDocumentserverTestingFramework
|
6
|
+
# Class for Home tab actions
|
7
|
+
# https://user-images.githubusercontent.com/668524/28775382-4b8609d0-75fa-11e7-8bfd-a2de8e8a1332.png
|
8
|
+
class HomeTab < EditorTab
|
9
|
+
def initialize(instance, tab_xpath: '//a[@data-tab="home"]/..', tab_name: 'Home')
|
10
|
+
super
|
11
|
+
@instance = instance
|
12
|
+
@xpath_insert_tab = tab_xpath
|
13
|
+
@tab_name = tab_name
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative 'doc_editor_top_toolbar/home_tab'
|
3
4
|
require_relative 'doc_editor_top_toolbar/top_toolbar_users'
|
4
5
|
require_relative 'doc_editor_top_toolbar/top_toolbar_document'
|
5
6
|
require_relative 'doc_editor_top_toolbar/title_row'
|
@@ -25,5 +26,10 @@ module OnlyofficeDocumentserverTestingFramework
|
|
25
26
|
def top_toolbar
|
26
27
|
@top_toolbar = TopToolbarDocument.new(@instance)
|
27
28
|
end
|
29
|
+
|
30
|
+
# @return [HomeTab] home tab
|
31
|
+
def home_tab
|
32
|
+
@home_tab ||= HomeTab.new(@instance)
|
33
|
+
end
|
28
34
|
end
|
29
35
|
end
|
@@ -223,5 +223,21 @@ module OnlyofficeDocumentserverTestingFramework
|
|
223
223
|
name ||= @instance.doc_editor.top_toolbar.top_toolbar.document_name
|
224
224
|
name[-1] == '*'
|
225
225
|
end
|
226
|
+
|
227
|
+
# Check if opened document is in viewer
|
228
|
+
# @return [true, false] true if viewer, false if editor
|
229
|
+
def viewer?
|
230
|
+
canvas_loaded = canvas_editor?
|
231
|
+
tabs_present = @instance.doc_editor.top_toolbar.home_tab.present?
|
232
|
+
result = canvas_loaded && !tabs_present
|
233
|
+
OnlyofficeLoggerHelper.log("viewer?: #{result}")
|
234
|
+
result
|
235
|
+
end
|
236
|
+
|
237
|
+
# Check if opened editor is canvas editor
|
238
|
+
# @return [true, false] true if canvas, false if not canvas
|
239
|
+
def canvas_editor?
|
240
|
+
visible?('//*[@id="id_viewer"]') || visible?('//*[@id="ws-canvas"]')
|
241
|
+
end
|
226
242
|
end
|
227
243
|
end
|
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.8.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-04-
|
12
|
+
date: 2022-04-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: onlyoffice_logger_helper
|
@@ -189,6 +189,8 @@ files:
|
|
189
189
|
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/common_editor/editor_windows.rb
|
190
190
|
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_editor.rb
|
191
191
|
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_editor/doc_editor_top_toolbar.rb
|
192
|
+
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_editor/doc_editor_top_toolbar/home_tab.rb
|
193
|
+
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_editor/doc_editor_top_toolbar/home_tab/editor_tab.rb
|
192
194
|
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_editor/doc_editor_top_toolbar/title_row.rb
|
193
195
|
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_editor/doc_editor_top_toolbar/top_toolbar_document.rb
|
194
196
|
- lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_editor/doc_editor_top_toolbar/top_toolbar_users.rb
|
@@ -239,7 +241,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
239
241
|
- !ruby/object:Gem::Version
|
240
242
|
version: '0'
|
241
243
|
requirements: []
|
242
|
-
rubygems_version: 3.3.
|
244
|
+
rubygems_version: 3.3.7
|
243
245
|
signing_key:
|
244
246
|
specification_version: 4
|
245
247
|
summary: ONLYOFFICE DocumentServer testing framework
|