Index: tools/telemetry/telemetry/browser_unittest.py |
diff --git a/tools/telemetry/telemetry/browser_unittest.py b/tools/telemetry/telemetry/browser_unittest.py |
index 0bbed70347561d2e994c64300701d781de6d4df1..70fe63bc1261408286f09f7d67c0c59e36ace4d8 100644 |
--- a/tools/telemetry/telemetry/browser_unittest.py |
+++ b/tools/telemetry/telemetry/browser_unittest.py |
@@ -1,9 +1,12 @@ |
# 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 |
import unittest |
from telemetry import browser_finder |
+from telemetry import browser_options |
+from telemetry import extension_page |
from telemetry import options_for_unittests |
class BrowserTest(unittest.TestCase): |
@@ -34,6 +37,37 @@ class BrowserTest(unittest.TestCase): |
t.WaitForDocumentReadyStateToBeInteractiveOrBetter() |
self.assertEquals(t.runtime.Evaluate('navigator.userAgent'), 'telemetry') |
+ def testAutomationExtension(self): |
+ # This test starts the browser with --load-component-extension, which |
+ # should load automation provider extension used for remotely running |
+ # all other extension API calls. |
+ options = options_for_unittests.GetCopy() |
+ options.extensions_to_load = [ |
+ browser_options.ExtensionToLoad( |
+ os.path.join(os.path.dirname(__file__), |
+ '..', 'unittest_data', 'auto_provider'), |
+ True)] |
+ |
+ browser_to_create = browser_finder.FindBrowser(options) |
+ with browser_to_create.Create() as b: |
+ ext = b.extensions.FindByUrl( |
+ 'chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/' + |
+ '_generated_background_page.html') |
+ self.assertIsNotNone(ext) |
+ create_properties = { 'url':'http://www.google.com' } |
+ (call_results, event_args) = ext.RunMethodWithEvents( |
+ [extension_page.ExtensionEvent('chrome.tabs.onCreated')], |
+ 'chrome.tabs.create', |
+ create_properties) |
+ self.assertEquals(call_results.keys().count('0'), 1) |
+ self.assertEquals(call_results["0"]['url'], 'http://www.google.com/') |
+ self.assertEquals(event_args.keys().count('chrome.tabs.onCreated'), 1) |
+ self.assertEquals(event_args['chrome.tabs.onCreated'].keys().count('0'), |
+ 1) |
+ self.assertEquals(event_args['chrome.tabs.onCreated']['0']['url'], |
+ 'http://www.google.com/') |
+ self.assertTrue(event_args['chrome.tabs.onCreated']['0']['selected']) |
+ |
def testVersionDetection(self): |
options = options_for_unittests.GetCopy() |
browser_to_create = browser_finder.FindBrowser(options) |