summaryrefslogtreecommitdiffstats
path: root/chrome/test/functional/exploratory.py
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/test/functional/exploratory.py')
-rw-r--r--chrome/test/functional/exploratory.py66
1 files changed, 66 insertions, 0 deletions
diff --git a/chrome/test/functional/exploratory.py b/chrome/test/functional/exploratory.py
new file mode 100644
index 0000000..2228166
--- /dev/null
+++ b/chrome/test/functional/exploratory.py
@@ -0,0 +1,66 @@
+#!/usr/bin/python
+# Copyright (c) 2010 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import logging
+
+import pyauto_functional
+from pyauto import PyUITest
+from pyauto import GURL
+
+import autotour
+
+
+class ChromeTest(autotour.Godel, PyUITest):
+ """Test Example class which explores OpenTab, CloseTab and Navigate
+ actions and calls them randomly using the Exploratory framework.
+ Each method defines a weight and a precondition to test
+ using the GodelAction decorator before it can be called. The exploratory
+ framework uses these annotation and automatically calls different actions
+ and drives browser testing.
+ """
+ def __init__(self, methodName='runTest', **kwargs):
+ PyUITest.__init__(self, methodName=methodName, **kwargs)
+ self._tab_count = 0
+
+ def CanOpenTab(self):
+ """Pre condition for opening a tab."""
+ return self._tab_count < 5
+
+ def CanCloseTab(self):
+ """Pre condition for closing a tab."""
+ return self._tab_count > 1
+
+ @autotour.GodelAction(10, CanOpenTab)
+ def OpenTab(self):
+ """Opens a new tab and goes to Google.com in the first window."""
+ logging.info('In Open Tab')
+ self._tab_count = self._tab_count + 1
+ self.AppendTab(GURL('http://www.google.com'))
+
+ @autotour.GodelAction(10, CanCloseTab)
+ def CloseTab(self):
+ """Closes the first tab in the first window."""
+ logging.info('In Close Tab')
+ self._tab_count = self._tab_count - 1
+ self.GetBrowserWindow(0).GetTab(0).Close(True)
+
+ @autotour.GodelAction(10, CanCloseTab)
+ def Navigate(self):
+ """Navigates to yahoo.com in the current window."""
+ logging.info("In Navigate")
+ self.NavigateToURL('http://www.yahoo.com')
+
+ def testExplore(self):
+ e = autotour.Explorer()
+ logging.info('Explorer created')
+ e.Add(self)
+ logging.info('Object added')
+ e.Explore()
+ logging.info('Done')
+
+
+if __name__ == '__main__':
+ pyauto_functional.Main()
+