diff options
author | nirnimesh@chromium.org <nirnimesh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-07 05:49:11 +0000 |
---|---|---|
committer | nirnimesh@chromium.org <nirnimesh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-07 05:49:11 +0000 |
commit | f5aa79970b40b9c3d873c833022779be96c16444 (patch) | |
tree | c8334f69227c6c1890b90743321f1fe4a00a5441 /chrome/test/pyautolib | |
parent | 5e4e3aa3099584e473a72b668ffa9c3119ef9a5b (diff) | |
download | chromium_src-f5aa79970b40b9c3d873c833022779be96c16444.zip chromium_src-f5aa79970b40b9c3d873c833022779be96c16444.tar.gz chromium_src-f5aa79970b40b9c3d873c833022779be96c16444.tar.bz2 |
Add new downloads tests
testBigZip -- test downloads for a 1 GB file, from Sunand
This required methods to temporarily increase automation timeout, since it might not be possible to download 1 GB file in the default 25 secs.
testDownloadsPersistence -- verify that download history persists browser restart, from Srikanth
Review URL: http://codereview.chromium.org/3046030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55341 0039d316-1c4b-4281-b951-d872f2087c98
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(); |