Index: tools/telemetry/telemetry/inspector_page_unittest.py |
diff --git a/tools/telemetry/telemetry/inspector_page_unittest.py b/tools/telemetry/telemetry/inspector_page_unittest.py |
index fee527af0b1a92a71f6667eba8a49181adcde962..33c476e5d76d4de9c1aaba430aab5783bf1ebc2a 100644 |
--- a/tools/telemetry/telemetry/inspector_page_unittest.py |
+++ b/tools/telemetry/telemetry/inspector_page_unittest.py |
@@ -1,9 +1,15 @@ |
# 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 os |
+ |
from telemetry import tab_test_case |
class InspectorPageTest(tab_test_case.TabTestCase): |
+ def __init__(self, *args): |
+ super(InspectorPageTest, self).__init__(*args) |
+ self._custom_action_called = False |
+ |
def testPageNavigateToNormalUrl(self): |
self._tab.page.Navigate('http://www.google.com') |
self._tab.WaitForDocumentReadyStateToBeComplete() |
@@ -17,3 +23,24 @@ class InspectorPageTest(tab_test_case.TabTestCase): |
def testPageNavigateToImpossibleURL(self): |
self._tab.page.Navigate('http://23f09f0f9fsdflajsfaldfkj2f3f.com') |
self._tab.WaitForDocumentReadyStateToBeComplete() |
+ |
+ def testCustomActionToNavigate(self): |
+ unittest_data_dir = os.path.join(os.path.dirname(__file__), |
+ '..', 'unittest_data') |
+ self._browser.SetHTTPServerDirectory(unittest_data_dir) |
+ self._tab.page.Navigate( |
+ self._browser.http_server.UrlOf('page_with_link.html')) |
+ self._tab.WaitForDocumentReadyStateToBeComplete() |
+ self.assertEquals(self._tab.runtime.Evaluate('document.location.pathname;'), |
+ '/page_with_link.html') |
+ |
+ self._custom_action_called = False |
+ def CustomAction(): |
+ self._custom_action_called = True |
+ self._tab.runtime.Execute('document.getElementById("clickme").click();') |
+ |
+ self._tab.page.PerformActionAndWaitForNavigate(CustomAction) |
+ |
+ self.assertTrue(self._custom_action_called) |
+ self.assertEquals(self._tab.runtime.Evaluate('document.location.pathname;'), |
+ '/blank.html') |