summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authornirnimesh@chromium.org <nirnimesh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-26 01:27:27 +0000
committernirnimesh@chromium.org <nirnimesh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-26 01:27:27 +0000
commit10cc16b24c179cd583303b63d1703d39a0503d2d (patch)
treeb195714dd8dba07e2972e80ea0eb6edfb32f4981 /chrome
parent0f2612295c17a205ee2389267be095f48c491af3 (diff)
downloadchromium_src-10cc16b24c179cd583303b63d1703d39a0503d2d.zip
chromium_src-10cc16b24c179cd583303b63d1703d39a0503d2d.tar.gz
chromium_src-10cc16b24c179cd583303b63d1703d39a0503d2d.tar.bz2
Deal with browser restart scenarios in pyauto scripts on ChromeOS
TEST=chromeos_basic.ChromeosBasic.testRestart BUG=chromium-os:12523 Review URL: http://codereview.chromium.org/6591020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76133 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/test/functional/chromeos_basic.py8
-rw-r--r--chrome/test/pyautolib/pyauto.py14
2 files changed, 22 insertions, 0 deletions
diff --git a/chrome/test/functional/chromeos_basic.py b/chrome/test/functional/chromeos_basic.py
index 857019b..30cf789 100644
--- a/chrome/test/functional/chromeos_basic.py
+++ b/chrome/test/functional/chromeos_basic.py
@@ -18,6 +18,14 @@ class ChromeosBasic(pyauto.PyUITest):
self.AppendTab(pyauto.GURL('about:version'))
self.assertEqual(self.GetTabCount(), 2, msg='Expected 2 tabs')
+ def testRestart(self):
+ """Basic test which involves restarting chrome on ChromeOS."""
+ file_url = self.GetFileURLForDataPath('title2.html')
+ self.NavigateToURL(file_url)
+ self.assertEqual(1, len(self.GetHistoryInfo().History()))
+ self.RestartBrowser(clear_profile=False)
+ self.assertEqual(1, len(self.GetHistoryInfo().History()))
+
if __name__ == '__main__':
pyauto_functional.Main()
diff --git a/chrome/test/pyautolib/pyauto.py b/chrome/test/pyautolib/pyauto.py
index 42b4b38..0224c8f 100644
--- a/chrome/test/pyautolib/pyauto.py
+++ b/chrome/test/pyautolib/pyauto.py
@@ -164,6 +164,11 @@ class PyUITest(pyautolib.PyUITestBase, unittest.TestCase):
def tearDown(self):
self.TearDown() # Destroy browser
+ @staticmethod
+ def CloseChromeOnChromeOS():
+ """Gracefully exit chrome on ChromeOS."""
+ subprocess.call(['pkill', 'chrome'])
+
def EnableChromeTestingOnChromeOS(self):
"""Enables the named automation interface on chromeos.
@@ -224,6 +229,15 @@ class PyUITest(pyautolib.PyUITestBase, unittest.TestCase):
Defaults to True, that is restarts browser with a clean
profile.
"""
+ if self.IsChromeOS():
+ self.TearDown()
+ if clear_profile:
+ self.CleanupBrowserProfileOnChromeOS()
+ self.CloseChromeOnChromeOS()
+ self.EnableChromeTestingOnChromeOS()
+ self.SetUp()
+ return
+ # Not chromeos
orig_clear_state = self.get_clear_profile()
self.CloseBrowserAndServer()
self.set_clear_profile(clear_profile)