summaryrefslogtreecommitdiffstats
path: root/chrome/test/pyautolib
diff options
context:
space:
mode:
authornirnimesh@chromium.org <nirnimesh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-07 05:49:11 +0000
committernirnimesh@chromium.org <nirnimesh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-07 05:49:11 +0000
commitf5aa79970b40b9c3d873c833022779be96c16444 (patch)
treec8334f69227c6c1890b90743321f1fe4a00a5441 /chrome/test/pyautolib
parent5e4e3aa3099584e473a72b668ffa9c3119ef9a5b (diff)
downloadchromium_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.py25
-rw-r--r--chrome/test/pyautolib/pyautolib.i9
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();