summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/qa/uitest/calc_tests9/tdf57841.py3
-rw-r--r--sc/qa/uitest/calc_tests9/tdf60468.py3
-rw-r--r--uitest/uitest/test.py13
3 files changed, 13 insertions, 6 deletions
diff --git a/sc/qa/uitest/calc_tests9/tdf57841.py b/sc/qa/uitest/calc_tests9/tdf57841.py
index 4c3722bf29d2..0eb2d260b699 100644
--- a/sc/qa/uitest/calc_tests9/tdf57841.py
+++ b/sc/qa/uitest/calc_tests9/tdf57841.py
@@ -36,7 +36,8 @@ class Tdf57841(UITestCase):
xTextDelimiter.executeAction("TYPE", mkPropertyValues({"TEXT": "\""}))
xOK = xDialog.getChild('ok')
- self.ui_test.close_dialog_through_button(xOK)
+ with self.ui_test.wait_until_component_loaded():
+ self.ui_test.close_dialog_through_button(xOK)
document = self.ui_test.get_component()
diff --git a/sc/qa/uitest/calc_tests9/tdf60468.py b/sc/qa/uitest/calc_tests9/tdf60468.py
index 33230737db73..48af292df505 100644
--- a/sc/qa/uitest/calc_tests9/tdf60468.py
+++ b/sc/qa/uitest/calc_tests9/tdf60468.py
@@ -36,7 +36,8 @@ class Tdf60468(UITestCase):
xTextDelimiter.executeAction("TYPE", mkPropertyValues({"TEXT": "\""}))
xOK = xDialog.getChild('ok')
- self.ui_test.close_dialog_through_button(xOK)
+ with self.ui_test.wait_until_component_loaded():
+ self.ui_test.close_dialog_through_button(xOK)
document = self.ui_test.get_component()
diff --git a/uitest/uitest/test.py b/uitest/uitest/test.py
index b96bcdf1bc30..cfa9b83e5a1c 100644
--- a/uitest/uitest/test.py
+++ b/uitest/uitest/test.py
@@ -7,6 +7,7 @@
import time
import threading
+from contextlib import contextmanager
from uitest.config import DEFAULT_SLEEP
from uitest.config import MAX_WAIT
from uitest.uihelper.common import get_state_as_dict
@@ -72,10 +73,10 @@ class UITest(object):
time_ += DEFAULT_SLEEP
time.sleep(DEFAULT_SLEEP)
- def load_file(self, url):
- desktop = self.get_desktop()
+ @contextmanager
+ def wait_until_component_loaded(self):
with EventListener(self._xContext, "OnLoad") as event:
- component = desktop.loadComponentFromURL(url, "_default", 0, tuple())
+ yield
time_ = 0
while time_ < MAX_WAIT:
if event.executed:
@@ -83,10 +84,14 @@ class UITest(object):
if len(frames) == 1:
self.get_desktop().setActiveFrame(frames[0])
time.sleep(DEFAULT_SLEEP)
- return component
+ break
time_ += DEFAULT_SLEEP
time.sleep(DEFAULT_SLEEP)
+ def load_file(self, url):
+ with self.wait_until_component_loaded():
+ return self.get_desktop().loadComponentFromURL(url, "_default", 0, tuple())
+
def execute_dialog_through_command(self, command, printNames=False):
with EventListener(self._xContext, "DialogExecute", printNames=printNames) as event:
if not self._xUITest.executeDialog(command):