diff options
author | nirnimesh@chromium.org <nirnimesh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-26 01:27:27 +0000 |
---|---|---|
committer | nirnimesh@chromium.org <nirnimesh@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-26 01:27:27 +0000 |
commit | 10cc16b24c179cd583303b63d1703d39a0503d2d (patch) | |
tree | b195714dd8dba07e2972e80ea0eb6edfb32f4981 /chrome | |
parent | 0f2612295c17a205ee2389267be095f48c491af3 (diff) | |
download | chromium_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.py | 8 | ||||
-rw-r--r-- | chrome/test/pyautolib/pyauto.py | 14 |
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) |