sc/qa/uitest/calc_tests4/exportToPDF.py                          |    2 ++
 sc/qa/uitest/calc_tests4/saveToCSV.py                            |    2 ++
 sc/qa/uitest/calc_tests7/save_readonly_with_password.py          |    4 ++++
 sc/qa/uitest/calc_tests8/tdf144940.py                            |    2 ++
 sc/qa/uitest/calc_tests8/tdf147086.py                            |    2 ++
 sc/qa/uitest/conditional_format/tdf117899.py                     |    2 ++
 sd/qa/uitest/impress_tests/exportToPDF.py                        |    2 ++
 sd/qa/uitest/impress_tests/save_readonly_with_password.py        |    4 ++++
 sd/qa/uitest/impress_tests/tdf141297.py                          |    2 ++
 sw/qa/uitest/writer_tests4/exportToPDF.py                        |    2 ++
 sw/qa/uitest/writer_tests5/tdf145326.py                          |    2 ++
 sw/qa/uitest/writer_tests6/edit_file_properties_before_saving.py |    4 ++++
 sw/qa/uitest/writer_tests6/save_readonly_with_password.py        |    4 ++++
 sw/qa/uitest/writer_tests7/tdf119661.py                          |    2 ++
 sw/qa/uitest/writer_tests7/tdf90401.py                           |    4 ++++
 uitest/uitest/test.py                                            |    8 
++++++++
 16 files changed, 48 insertions(+)

New commits:
commit 33a49a99c76ca1879dbb0202384aa939a6d44a75
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Fri Feb 25 13:01:22 2022 +0100
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Fri Feb 25 15:29:54 2022 +0100

    uitest: introduce wait_until_file_is_available
    
    For export - import tests
    See 
https://gerrit.libreoffice.org/c/core/+/124654/5/sw/qa/uitest/writer_tests6/edit_file_properties_before_saving.py#91
    
    Change-Id: I3c2537a43cc69067355f18162d6463e268420090
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130530
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sc/qa/uitest/calc_tests4/exportToPDF.py 
b/sc/qa/uitest/calc_tests4/exportToPDF.py
index 1e88659f1193..3cf589bbb9c3 100644
--- a/sc/qa/uitest/calc_tests4/exportToPDF.py
+++ b/sc/qa/uitest/calc_tests4/exportToPDF.py
@@ -67,6 +67,8 @@ class exportToPDF(UITestCase):
                         xFileName.executeAction('TYPE', 
mkPropertyValues({'KEYCODE':'BACKSPACE'}))
                         xFileName.executeAction('TYPE', 
mkPropertyValues({'TEXT': xFilePath}))
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
 
                 self.assertEqual("Sheet1", 
document.DrawPages[0].getByIndex(0).String)
diff --git a/sc/qa/uitest/calc_tests4/saveToCSV.py 
b/sc/qa/uitest/calc_tests4/saveToCSV.py
index 8ed168c9af3d..503c7ed2386a 100644
--- a/sc/qa/uitest/calc_tests4/saveToCSV.py
+++ b/sc/qa/uitest/calc_tests4/saveToCSV.py
@@ -59,6 +59,8 @@ class saveToCSV(UITestCase):
 
                             xFormulas.executeAction("CLICK", tuple())
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with open(xFilePath, "r") as f:
                 lines = f.readlines()
                 self.assertEqual("1", lines[0].strip())
diff --git a/sc/qa/uitest/calc_tests7/save_readonly_with_password.py 
b/sc/qa/uitest/calc_tests7/save_readonly_with_password.py
index 311293815398..02f125e3008f 100644
--- a/sc/qa/uitest/calc_tests7/save_readonly_with_password.py
+++ b/sc/qa/uitest/calc_tests7/save_readonly_with_password.py
@@ -46,6 +46,8 @@ class save_readonly_with_password(UITestCase):
                         with self.ui_test.execute_dialog_through_action(xOk, 
"CLICK", close_button="save"):
                             pass
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
 
                 self.assertTrue(document.isReadonly())
@@ -80,6 +82,8 @@ class save_readonly_with_password(UITestCase):
                         xConfirmPassword = 
xPasswordDialog.getChild("confirmropassEntry")
                         xConfirmPassword.executeAction("TYPE", 
mkPropertyValues({"TEXT": "password"}))
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
 
                 self.assertTrue(document.isReadonly())
diff --git a/sc/qa/uitest/calc_tests8/tdf144940.py 
b/sc/qa/uitest/calc_tests8/tdf144940.py
index c61967ebf970..b117b56d2a9b 100644
--- a/sc/qa/uitest/calc_tests8/tdf144940.py
+++ b/sc/qa/uitest/calc_tests8/tdf144940.py
@@ -46,6 +46,8 @@ class tdf144940(UITestCase):
                     xFileName.executeAction("TYPE", 
mkPropertyValues({"KEYCODE":"BACKSPACE"}))
                     xFileName.executeAction("TYPE", mkPropertyValues({"TEXT": 
xFilePath}))
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
 
                 xPageStyles = document.StyleFamilies.getByIndex(1)
diff --git a/sc/qa/uitest/calc_tests8/tdf147086.py 
b/sc/qa/uitest/calc_tests8/tdf147086.py
index 906f79075b59..f594edb696f6 100755
--- a/sc/qa/uitest/calc_tests8/tdf147086.py
+++ b/sc/qa/uitest/calc_tests8/tdf147086.py
@@ -44,6 +44,8 @@ class tdf147086(UITestCase):
                         with self.ui_test.execute_dialog_through_action(xOk, 
"CLICK", close_button="save"):
                             pass
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
 
                 self.assertTrue(document.isReadonly())
diff --git a/sc/qa/uitest/conditional_format/tdf117899.py 
b/sc/qa/uitest/conditional_format/tdf117899.py
index 04e4da9e46a9..0498a05b63ef 100644
--- a/sc/qa/uitest/conditional_format/tdf117899.py
+++ b/sc/qa/uitest/conditional_format/tdf117899.py
@@ -54,6 +54,8 @@ class Tdf117899(UITestCase):
                 xFileName.executeAction("TYPE", 
mkPropertyValues({"KEYCODE":"BACKSPACE"}))
                 xFileName.executeAction("TYPE", mkPropertyValues({"TEXT": 
xFilePath}))
 
+        self.ui_test.wait_until_file_is_available(xFilePath)
+
         with self.ui_test.load_file(systemPathToFileUrl(xFilePath)):
 
             xCalcDoc = self.xUITest.getTopFocusWindow()
diff --git a/sd/qa/uitest/impress_tests/exportToPDF.py 
b/sd/qa/uitest/impress_tests/exportToPDF.py
index aa766741e3e3..4dcaa4954405 100644
--- a/sd/qa/uitest/impress_tests/exportToPDF.py
+++ b/sd/qa/uitest/impress_tests/exportToPDF.py
@@ -70,6 +70,8 @@ class exportToPDF(UITestCase):
                         xFileName.executeAction('TYPE', 
mkPropertyValues({'KEYCODE':'BACKSPACE'}))
                         xFileName.executeAction('TYPE', 
mkPropertyValues({'TEXT': xFilePath}))
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
 
                 self.assertEqual("", 
document.DrawPages[0].getByIndex(0).String)
diff --git a/sd/qa/uitest/impress_tests/save_readonly_with_password.py 
b/sd/qa/uitest/impress_tests/save_readonly_with_password.py
index 485dedde10f4..caca0126a8b8 100644
--- a/sd/qa/uitest/impress_tests/save_readonly_with_password.py
+++ b/sd/qa/uitest/impress_tests/save_readonly_with_password.py
@@ -51,6 +51,8 @@ class save_readonly_with_password(UITestCase):
                         with self.ui_test.execute_dialog_through_action(xOk, 
"CLICK", close_button="save"):
                             pass
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
 
                 self.assertTrue(document.isReadonly())
@@ -90,6 +92,8 @@ class save_readonly_with_password(UITestCase):
                         xConfirmPassword = 
xPasswordDialog.getChild("confirmropassEntry")
                         xConfirmPassword.executeAction("TYPE", 
mkPropertyValues({"TEXT": "password"}))
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
 
                 self.assertTrue(document.isReadonly())
diff --git a/sd/qa/uitest/impress_tests/tdf141297.py 
b/sd/qa/uitest/impress_tests/tdf141297.py
index bd776253e7a2..c7a9e3057e2c 100644
--- a/sd/qa/uitest/impress_tests/tdf141297.py
+++ b/sd/qa/uitest/impress_tests/tdf141297.py
@@ -65,6 +65,8 @@ class tdf141297(UITestCase):
                         xFileName.executeAction("TYPE", 
mkPropertyValues({"KEYCODE":"BACKSPACE"}))
                         xFileName.executeAction("TYPE", 
mkPropertyValues({"TEXT": xFilePath}))
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)):
 
                 self.xUITest.executeCommand(".uno:ManageLinks")
diff --git a/sw/qa/uitest/writer_tests4/exportToPDF.py 
b/sw/qa/uitest/writer_tests4/exportToPDF.py
index 14cc9f5b3fac..e882559484ad 100644
--- a/sw/qa/uitest/writer_tests4/exportToPDF.py
+++ b/sw/qa/uitest/writer_tests4/exportToPDF.py
@@ -67,6 +67,8 @@ class exportToPDF(UITestCase):
                         xFileName.executeAction('TYPE', 
mkPropertyValues({'KEYCODE':'BACKSPACE'}))
                         xFileName.executeAction('TYPE', 
mkPropertyValues({'TEXT': xFilePath}))
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
 
                 self.assertEqual("Hello World", 
document.DrawPages[0].getByIndex(0).String)
diff --git a/sw/qa/uitest/writer_tests5/tdf145326.py 
b/sw/qa/uitest/writer_tests5/tdf145326.py
index 7df98e825d17..d063e6388aaa 100644
--- a/sw/qa/uitest/writer_tests5/tdf145326.py
+++ b/sw/qa/uitest/writer_tests5/tdf145326.py
@@ -58,6 +58,8 @@ class Tdf145326(UITestCase):
 
             self.ui_test.close_doc()
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
doc2:
 
                 self.xUITest.executeCommand(".uno:LinkDialog")
diff --git a/sw/qa/uitest/writer_tests6/edit_file_properties_before_saving.py 
b/sw/qa/uitest/writer_tests6/edit_file_properties_before_saving.py
index c4dc1840754d..746d9a75075c 100644
--- a/sw/qa/uitest/writer_tests6/edit_file_properties_before_saving.py
+++ b/sw/qa/uitest/writer_tests6/edit_file_properties_before_saving.py
@@ -53,6 +53,8 @@ class edit_file_properties_before_saving(UITestCase):
                         xReadOnly.executeAction("CLICK", tuple())
                         self.assertEqual("true", 
get_state_as_dict(xReadOnly)['Selected'])
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
doc2:
 
                 self.change_doc_info_setting("false")
@@ -90,6 +92,8 @@ class edit_file_properties_before_saving(UITestCase):
                             xReadOnly.executeAction("CLICK", tuple())
                             self.assertEqual("true", 
get_state_as_dict(xReadOnly)['Selected'])
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
doc2:
 
                 self.change_doc_info_setting("false")
diff --git a/sw/qa/uitest/writer_tests6/save_readonly_with_password.py 
b/sw/qa/uitest/writer_tests6/save_readonly_with_password.py
index 4effd4302352..5e6e8380345f 100644
--- a/sw/qa/uitest/writer_tests6/save_readonly_with_password.py
+++ b/sw/qa/uitest/writer_tests6/save_readonly_with_password.py
@@ -47,6 +47,8 @@ class save_readonly_with_password(UITestCase):
                         with self.ui_test.execute_dialog_through_action(xOk, 
"CLICK", close_button="save"):
                             pass
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
 
                 self.assertTrue(document.isReadonly())
@@ -82,6 +84,8 @@ class save_readonly_with_password(UITestCase):
                         xConfirmPassword = 
xPasswordDialog.getChild("confirmropassEntry")
                         xConfirmPassword.executeAction("TYPE", 
mkPropertyValues({"TEXT": "password"}))
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
 
                 xWriterEdit = 
self.xUITest.getTopFocusWindow().getChild("writer_edit")
diff --git a/sw/qa/uitest/writer_tests7/tdf119661.py 
b/sw/qa/uitest/writer_tests7/tdf119661.py
index 566372fc427c..689410f64a4b 100644
--- a/sw/qa/uitest/writer_tests7/tdf119661.py
+++ b/sw/qa/uitest/writer_tests7/tdf119661.py
@@ -64,6 +64,8 @@ class tdf119661(UITestCase):
                         xFileName.executeAction("TYPE", 
mkPropertyValues({"KEYCODE":"BACKSPACE"}))
                         xFileName.executeAction("TYPE", 
mkPropertyValues({"TEXT": xFilePath}))
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)):
 
                 self.xUITest.executeCommand(".uno:LinkDialog")
diff --git a/sw/qa/uitest/writer_tests7/tdf90401.py 
b/sw/qa/uitest/writer_tests7/tdf90401.py
index 3cab231f72b2..b08c1f88248f 100644
--- a/sw/qa/uitest/writer_tests7/tdf90401.py
+++ b/sw/qa/uitest/writer_tests7/tdf90401.py
@@ -63,6 +63,8 @@ class tdf90401(UITestCase):
                     xFileName.executeAction('TYPE', 
mkPropertyValues({'KEYCODE':'BACKSPACE'}))
                     xFileName.executeAction('TYPE', mkPropertyValues({'TEXT': 
xFilePath}))
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
writer_doc2:
 
                 # check removed personal info on comments
@@ -134,6 +136,8 @@ class tdf90401(UITestCase):
                     with self.ui_test.execute_dialog_through_action(xOpen, 
"CLICK", close_button="save"):
                         pass
 
+            self.ui_test.wait_until_file_is_available(xFilePath)
+
             with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
writer_doc2:
 
                 # check removed personal info on comments
diff --git a/uitest/uitest/test.py b/uitest/uitest/test.py
index b718c84bee5e..5ed20add799c 100644
--- a/uitest/uitest/test.py
+++ b/uitest/uitest/test.py
@@ -7,6 +7,7 @@
 
 import time
 import threading
+import os.path
 from contextlib import contextmanager
 from uitest.uihelper.common import get_state_as_dict
 
@@ -64,6 +65,13 @@ class UITest(object):
             else:
                 time.sleep(DEFAULT_SLEEP)
 
+    def wait_until_file_is_available(self, fileName):
+        while True:
+            if os.path.isfile(fileName):
+                return
+            else:
+                time.sleep(DEFAULT_SLEEP)
+
     @contextmanager
     def wait_until_component_loaded(self):
         with EventListener(self._xContext, "OnLoad") as event:

Reply via email to