Index: chrome/test/functional/apptest.py |
diff --git a/chrome/test/functional/apptest.py b/chrome/test/functional/apptest.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c92a716d6107bb1851763cf25cec4e31ea5c647b |
--- /dev/null |
+++ b/chrome/test/functional/apptest.py |
@@ -0,0 +1,35 @@ |
+# Copyright (c) 2012 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 json |
+ |
+import pyauto_functional # must be imported before pyauto |
+import pyauto |
+ |
+ |
+class PyAutoEventsTest(pyauto.PyUITest): |
+ |
+ def testBasicEvents(self): |
+ """Basic test for the event queue.""" |
+ url = self.GetHttpURLForDataPath('apptest', 'basic.html') |
+ driver = self.NewWebDriver() |
+ event_id = self.AddDomRaisedEventObserver(); |
+ self.NavigateToURL(url) |
+ self._ExpectEvent(event_id, 'init') |
+ self._ExpectEvent(event_id, 'login ready') |
+ driver.find_element_by_id('login').click() |
+ self._ExpectEvent(event_id, 'login start') |
+ self._ExpectEvent(event_id, 'login done') |
+ |
+ def _ExpectEvent(self, event_id, event_name): |
+ # TODO(craigdh): Temporary hack to ignore unexpected events generated by |
+ # chromedriver's use of DomAutomationController. The upcoming revision to |
+ # RaisedEvents will fix this. Note this isn't polling, just ignoring |
+ # chromedriver events. |
+ while json.loads(self.GetNextEvent(event_id).get('name')) != event_name: |
Nirnimesh
2012/02/29 03:22:08
if the test fails, this will be stuck forever. Run
craigdh
2012/02/29 22:53:43
Changed to just throw out anything that looks like
|
+ pass |
+ |
+ |
+if __name__ == '__main__': |
+ pyauto_functional.Main() |