summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2023-06-02 12:28:47 +0200
committerXisco Fauli <xiscofauli@libreoffice.org>2023-06-02 12:29:58 +0200
commit0225e909b8c8da089c1bbe2f6b4f162dd6d46188 (patch)
treedd4b22c769315755b1189be26bfc5d7d6affc16a
parentb6f2a9fd5e5bb310b129dad527cf4821f5d21cdb (diff)
mass-uitesting: improve calc tests
make use of states added in 30391deaf6e1726450378bbe5d320bfbbd213abf "uitest: sc: check whether current row/column/table has data" Change-Id: Ic575c19f09dac445fc1f1d7f32688e6787fb2e17
-rwxr-xr-xuitest/mass-testing/calc.py156
-rwxr-xr-xuitest/mass-testing/run.py1
2 files changed, 117 insertions, 40 deletions
diff --git a/uitest/mass-testing/calc.py b/uitest/mass-testing/calc.py
index ed11b826..8b9f3bbc 100755
--- a/uitest/mass-testing/calc.py
+++ b/uitest/mass-testing/calc.py
@@ -7,6 +7,7 @@
import os
import signal
from uitest.framework import UITestCase
+from uitest.uihelper.common import get_state_as_dict
from libreoffice.uno.propertyvalue import mkPropertyValues
from contextlib import contextmanager
@@ -44,7 +45,7 @@ class massTesting(UITestCase):
document = self.ui_test.get_component()
nrSheets = document.Sheets.getCount() #number of sheets in the document
#go to first sheet
- for i in range(nrSheets - 1):
+ for sheet in range(nrSheets - 1):
self.xUITest.executeCommand(".uno:JumpToPrevTable")
#Just in case more than 1 sheet is selected
@@ -63,43 +64,69 @@ class massTesting(UITestCase):
with self.load_file() as xEdit:
nrSheets = self.go_to_first_sheet()
- for i in range(nrSheets)[:maxSheets]:
- self.xUITest.executeCommand(".uno:SelectAll")
- xEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE":"DELETE"}))
+ document = self.ui_test.get_component()
+ for sheet in range(nrSheets)[:maxSheets]:
+ if not document.Sheets[sheet].isProtected() and \
+ get_state_as_dict(xEdit)["CurrentTableHasData"] == "true":
+ self.xUITest.executeCommand(".uno:SelectAll")
+ xEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE":"DELETE"}))
+
+ self.xUITest.executeCommand(".uno:Undo")
- self.xUITest.executeCommand(".uno:Undo")
self.xUITest.executeCommand(".uno:JumpToNextTable")
def test_insert_column_and_undo(self):
with self.load_file() as xEdit:
nrSheets = self.go_to_first_sheet()
- for i in range(nrSheets)[:maxSheets]:
- self.xUITest.executeCommand(".uno:InsertColumnsBefore")
- self.xUITest.executeCommand(".uno:Undo")
+ document = self.ui_test.get_component()
+ for sheet in range(nrSheets)[:maxSheets]:
+ if not document.Sheets[sheet].isProtected() and \
+ get_state_as_dict(xEdit)["CurrentTableHasData"] == "true":
+ for column in range(10):
+ if get_state_as_dict(xEdit)["CurrentColumnHasData"] == "true":
+ self.xUITest.executeCommand(".uno:InsertColumnsBefore")
+ self.xUITest.executeCommand(".uno:Undo")
+ self.xUITest.executeCommand(".uno:InsertColumnsAfter")
+ self.xUITest.executeCommand(".uno:Undo")
+
+ self.xUITest.executeCommand(".uno:GoRight")
+
self.xUITest.executeCommand(".uno:JumpToNextTable")
def test_insert_row_and_undo(self):
with self.load_file() as xEdit:
nrSheets = self.go_to_first_sheet()
+ document = self.ui_test.get_component()
+ for sheet in range(nrSheets)[:maxSheets]:
+ if not document.Sheets[sheet].isProtected() and \
+ get_state_as_dict(xEdit)["CurrentTableHasData"] == "true":
+ for row in range(10):
+ if get_state_as_dict(xEdit)["CurrentRowHasData"] == "true":
+ self.xUITest.executeCommand(".uno:InsertRowsBefore")
+ self.xUITest.executeCommand(".uno:Undo")
+ self.xUITest.executeCommand(".uno:InsertRowsAfter")
+ self.xUITest.executeCommand(".uno:Undo")
+
+ self.xUITest.executeCommand(".uno:GoDown")
- for i in range(nrSheets)[:maxSheets]:
- self.xUITest.executeCommand(".uno:InsertRowsBefore")
- self.xUITest.executeCommand(".uno:Undo")
self.xUITest.executeCommand(".uno:JumpToNextTable")
- def test_copy_all_paste_undo(self):
+ def xtest_copy_all_paste_undo(self):
with self.load_file() as xEdit:
nrSheets = self.go_to_first_sheet()
- for i in range(nrSheets)[:maxSheets]:
- self.xUITest.executeCommand(".uno:SelectAll")
+ document = self.ui_test.get_component()
+ for sheet in range(nrSheets)[:maxSheets]:
+ if not document.Sheets[sheet].isProtected() and \
+ get_state_as_dict(xEdit)["CurrentTableHasData"] == "true":
+ self.xUITest.executeCommand(".uno:SelectAll")
- self.xUITest.executeCommand(".uno:Copy")
+ self.xUITest.executeCommand(".uno:Copy")
- self.xUITest.executeCommand(".uno:Paste")
+ self.xUITest.executeCommand(".uno:Paste")
- self.xUITest.executeCommand(".uno:Undo")
+ self.xUITest.executeCommand(".uno:Undo")
self.xUITest.executeCommand(".uno:JumpToNextTable")
@@ -107,29 +134,75 @@ class massTesting(UITestCase):
with self.load_file() as xEdit:
nrSheets = self.go_to_first_sheet()
- for i in range(nrSheets)[:maxSheets]:
- self.xUITest.executeCommand(".uno:PrintPreview") #open print preview
- self.xUITest.executeCommand(".uno:ClosePreview") # close print preview
+ for sheet in range(nrSheets)[:maxSheets]:
+ if get_state_as_dict(xEdit)["CurrentTableHasData"] == "true":
+ self.xUITest.executeCommand(".uno:PrintPreview") #open print preview
+ self.xUITest.executeCommand(".uno:ClosePreview") # close print preview
+
+ xDoc = self.xUITest.getTopFocusWindow()
+ xEdit = xDoc.getChild("grid_window")
+
self.xUITest.executeCommand(".uno:JumpToNextTable")
- self.xUITest.getTopFocusWindow()
def test_hide_column_and_undo(self):
with self.load_file() as xEdit:
nrSheets = self.go_to_first_sheet()
- for i in range(nrSheets)[:maxSheets]:
- self.xUITest.executeCommand(".uno:HideColumn")
- self.xUITest.executeCommand(".uno:Undo")
+ for sheet in range(nrSheets)[:maxSheets]:
+ if get_state_as_dict(xEdit)["CurrentTableHasData"] == "true":
+ for column in range(10):
+ if get_state_as_dict(xEdit)["CurrentColumnHasData"] == "true":
+ self.xUITest.executeCommand(".uno:HideColumn")
+ self.xUITest.executeCommand(".uno:Undo")
+
+ self.xUITest.executeCommand(".uno:GoRight")
+
self.xUITest.executeCommand(".uno:JumpToNextTable")
def test_hide_row_and_undo(self):
with self.load_file() as xEdit:
nrSheets = self.go_to_first_sheet()
- for i in range(nrSheets)[:maxSheets]:
- self.xUITest.executeCommand(".uno:HideRow")
- self.xUITest.executeCommand(".uno:Undo")
+ for sheet in range(nrSheets)[:maxSheets]:
+ if get_state_as_dict(xEdit)["CurrentTableHasData"] == "true":
+ for row in range(10):
+ if get_state_as_dict(xEdit)["CurrentRowHasData"] == "true":
+ self.xUITest.executeCommand(".uno:HideRow")
+ self.xUITest.executeCommand(".uno:Undo")
+
+ self.xUITest.executeCommand(".uno:GoDown")
+
+ self.xUITest.executeCommand(".uno:JumpToNextTable")
+
+ def test_delete_column_and_undo(self):
+ with self.load_file() as xEdit:
+ nrSheets = self.go_to_first_sheet()
+
+ for sheet in range(nrSheets)[:maxSheets]:
+ if get_state_as_dict(xEdit)["CurrentTableHasData"] == "true":
+ for column in range(10):
+ if get_state_as_dict(xEdit)["CurrentColumnHasData"] == "true":
+ self.xUITest.executeCommand(".uno:DeleteColumns")
+ self.xUITest.executeCommand(".uno:Undo")
+
+ self.xUITest.executeCommand(".uno:GoRight")
+
+ self.xUITest.executeCommand(".uno:JumpToNextTable")
+
+ def test_delete_row_and_undo(self):
+ with self.load_file() as xEdit:
+ nrSheets = self.go_to_first_sheet()
+
+ for sheet in range(nrSheets)[:maxSheets]:
+ if get_state_as_dict(xEdit)["CurrentTableHasData"] == "true":
+ for row in range(10):
+ if get_state_as_dict(xEdit)["CurrentRowHasData"] == "true":
+ self.xUITest.executeCommand(".uno:DeleteRows")
+ self.xUITest.executeCommand(".uno:Undo")
+
+ self.xUITest.executeCommand(".uno:GoDown")
+
self.xUITest.executeCommand(".uno:JumpToNextTable")
def test_copy_sheet_undo_delete_sheet(self):
@@ -138,24 +211,28 @@ class massTesting(UITestCase):
ignoreSheets = 0
document = self.ui_test.get_component()
- for i in range(nrSheets)[:maxSheets]:
+ for sheet in range(nrSheets)[:maxSheets]:
#copy sheet, undo and delete
- with self.ui_test.execute_dialog_through_command(".uno:Move") as xDialog:
- xCopy = xDialog.getChild("copy")
- xCopy.executeAction("CLICK", tuple())
+ if get_state_as_dict(xEdit)["CurrentTableHasData"] == "true":
+ with self.ui_test.execute_dialog_through_command(".uno:Move") as xDialog:
+ xCopy = xDialog.getChild("copy")
+ xCopy.executeAction("CLICK", tuple())
- self.xUITest.executeCommand(".uno:Undo")
+ self.xUITest.executeCommand(".uno:Undo")
if document.Sheets[ignoreSheets].isProtected():
#Do not count the last sheet
- if i < nrSheets - 1:
+ if sheet < nrSheets - 1:
ignoreSheets += 1
self.xUITest.executeCommand(".uno:JumpToNextTable")
else:
#Do not delete the last sheet
- if i < nrSheets - 1:
- with self.ui_test.execute_dialog_through_command(".uno:Remove", close_button="yes"):
- pass
+ if sheet < nrSheets - 1:
+ if get_state_as_dict(xEdit)["CurrentTableHasData"] == "true":
+ with self.ui_test.execute_dialog_through_command(".uno:Remove", close_button="yes"):
+ pass
+ else:
+ self.xUITest.executeCommand(".uno:Remove")
self.assertEqual(document.Sheets.getCount(), 1 + ignoreSheets + len(range(nrSheets)[maxSheets + 1:]))
@@ -164,8 +241,9 @@ class massTesting(UITestCase):
nrSheets = self.go_to_first_sheet()
document = self.ui_test.get_component()
- for i in range(nrSheets)[:maxSheets]:
- if not document.Sheets[i].isProtected():
+ for sheet in range(nrSheets)[:maxSheets]:
+ if not document.Sheets[sheet].isProtected() and \
+ get_state_as_dict(xEdit)["CurrentTableHasData"] == "true":
self.xUITest.executeCommand(".uno:SelectAll")
self.xUITest.executeCommand(".uno:Bold")
self.xUITest.executeCommand(".uno:Undo")
@@ -208,7 +286,7 @@ class massTesting(UITestCase):
self.xUITest.executeCommand(".uno:StyleApply?Style:string=Heading%202&FamilyName:string=ParagraphStyles")
self.xUITest.executeCommand(".uno:Undo")
- self.xUITest.executeCommand(".uno:JumpToNextTable")
+ self.xUITest.executeCommand(".uno:JumpToNextTable")
def test_sidebar(self):
with self.load_file() as xEdit:
diff --git a/uitest/mass-testing/run.py b/uitest/mass-testing/run.py
index 35485fc8..595bc02b 100755
--- a/uitest/mass-testing/run.py
+++ b/uitest/mass-testing/run.py
@@ -210,7 +210,6 @@ def run_tests_and_get_results(sofficePath, listFiles, isDebug):
kill_soffice()
cpuCount = int(multiprocessing.cpu_count() / 2) #Use half of the CPUs
- print(cpuCount)
chunkSplit = cpuCount * 16
chunks = [listFiles[x:x+chunkSplit] for x in range(0, len(listFiles), chunkSplit)]
totalCount = len(listFiles)