diff options
Diffstat (limited to 'chrome/test/pyautolib')
-rw-r--r-- | chrome/test/pyautolib/pyauto.py | 25 | ||||
-rw-r--r-- | chrome/test/pyautolib/pyautolib.i | 9 |
2 files changed, 34 insertions, 0 deletions
diff --git a/chrome/test/pyautolib/pyauto.py b/chrome/test/pyautolib/pyauto.py index bca01d2..7e0e766 100644 --- a/chrome/test/pyautolib/pyauto.py +++ b/chrome/test/pyautolib/pyauto.py @@ -292,6 +292,31 @@ class PyUITest(pyautolib.PyUITestBase, unittest.TestCase): time.sleep(retry_sleep) return False + class CmdExecutionTimeoutChanger(object): + """Facilitate temporary changes to command_execution_timeout_ms. + + Automatically resets to original timeout when object is destroyed. + """ + _saved_timeout = -1 # Saved value for command_execution_timeout_ms + + def __init__(self, ui_test, new_timeout): + """Initialize. + + Args: + ui_test: a PyUITest object + new_timeout: new timeout to use (in milli secs) + """ + self._saved_timeout = ui_test.command_execution_timeout_ms() + if new_timeout != self._saved_timeout: + ui_test.set_command_execution_timeout_ms(new_timeout) + self._ui_test = ui_test + + def __del__(self): + """Reset command_execution_timeout_ms to original value.""" + if self._ui_test.command_execution_timeout_ms() != self._saved_timeout: + self._ui_test.set_command_execution_timeout_ms(self._saved_timeout) + + def _GetResultFromJSONRequest(self, cmd_dict, windex=0): """Issue call over the JSON automation channel and fetch output. diff --git a/chrome/test/pyautolib/pyautolib.i b/chrome/test/pyautolib/pyautolib.i index b5fd1a5..875d530 100644 --- a/chrome/test/pyautolib/pyautolib.i +++ b/chrome/test/pyautolib/pyautolib.i @@ -187,6 +187,15 @@ class PyUITestBase { action_max_timeout_ms; int action_max_timeout_ms() const; + %feature("docstring", "Get the timeout (in milli secs) for an automation " + "call") command_execution_timeout_ms; + int command_execution_timeout_ms() const; + %feature("docstring", "Set the timeout (in milli secs) for an automation " + "call. This is an internal method. Do not use this directly. " + "Use CmdExecutionTimeoutChanger instead") + set_command_execution_timeout_ms; + void set_command_execution_timeout_ms(int timeout); + %feature("docstring", "Launches the browser and IPC testing server.") LaunchBrowserAndServer; void LaunchBrowserAndServer(); |