Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 import os | |
| 4 import unittest | 5 import unittest |
| 5 | 6 |
| 6 from telemetry import browser_finder | 7 from telemetry import browser_finder |
| 8 from telemetry import browser_options | |
| 7 from telemetry import options_for_unittests | 9 from telemetry import options_for_unittests |
| 8 | 10 |
| 9 class BrowserTest(unittest.TestCase): | 11 class BrowserTest(unittest.TestCase): |
| 10 def testBrowserCreation(self): | 12 def testBrowserCreation(self): |
| 11 options = options_for_unittests.GetCopy() | 13 options = options_for_unittests.GetCopy() |
| 12 browser_to_create = browser_finder.FindBrowser(options) | 14 browser_to_create = browser_finder.FindBrowser(options) |
| 13 if not browser_to_create: | 15 if not browser_to_create: |
| 14 raise Exception('No browser found, cannot continue test.') | 16 raise Exception('No browser found, cannot continue test.') |
| 15 with browser_to_create.Create() as b: | 17 with browser_to_create.Create() as b: |
| 16 self.assertEquals(1, b.num_tabs) | 18 self.assertEquals(1, b.num_tabs) |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 28 options.extra_browser_args.append(flag1) | 30 options.extra_browser_args.append(flag1) |
| 29 | 31 |
| 30 browser_to_create = browser_finder.FindBrowser(options) | 32 browser_to_create = browser_finder.FindBrowser(options) |
| 31 with browser_to_create.Create() as b: | 33 with browser_to_create.Create() as b: |
| 32 with b.ConnectToNthTab(0) as t: | 34 with b.ConnectToNthTab(0) as t: |
| 33 t.page.Navigate('http://www.google.com/') | 35 t.page.Navigate('http://www.google.com/') |
| 34 t.WaitForDocumentReadyStateToBeInteractiveOrBetter() | 36 t.WaitForDocumentReadyStateToBeInteractiveOrBetter() |
| 35 self.assertEquals(t.runtime.Evaluate('navigator.userAgent'), | 37 self.assertEquals(t.runtime.Evaluate('navigator.userAgent'), |
| 36 'telemetry') | 38 'telemetry') |
| 37 | 39 |
| 40 def testAutomationExtension(self): | |
| 41 # This test starts the browser with --load-component-extension, which | |
| 42 # should load automation provider extension used for remotely running | |
| 43 # all other extension API calls. | |
| 44 options = options_for_unittests.GetCopy() | |
| 45 options.extensions_to_load = [ | |
| 46 browser_options.ExtensionToLoad( | |
|
nduca
2012/12/07 19:23:47
you have to have the extension that this reference
zel
2012/12/12 21:03:42
Done.
| |
| 47 os.path.join(os.path.dirname(__file__), | |
| 48 '..', '..', 'telemetry_auto', 'data', 'auto_provider'), | |
| 49 True)] | |
| 50 | |
| 51 browser_to_create = browser_finder.FindBrowser(options) | |
| 52 with browser_to_create.Create() as b: | |
| 53 with b.ConnectToExtensionPage("aapnijgdinlhnhlmodcfapnahmbfebeb") as ext: | |
| 54 create_properties = { 'url':'http://www.google.com' } | |
| 55 (call_results, event_args) = ext.RunMethodWithEvents( | |
| 56 ['chrome.tabs.onCreated'], 'chrome.tabs.create', create_properties) | |
| 57 self.assertEquals(call_results.keys().count('0'), 1) | |
| 58 self.assertEquals(call_results["0"]['url'], 'http://www.google.com/') | |
| 59 self.assertEquals(event_args.keys().count('chrome.tabs.onCreated'), 1) | |
| 60 self.assertEquals(event_args['chrome.tabs.onCreated'].keys().count('0'), | |
| 61 1) | |
| 62 self.assertEquals(event_args['chrome.tabs.onCreated']['0']['url'], | |
| 63 'http://www.google.com/') | |
| 64 self.assertTrue(event_args['chrome.tabs.onCreated']['0']['selected']) | |
| 65 | |
| 38 def testVersionDetection(self): | 66 def testVersionDetection(self): |
| 39 options = options_for_unittests.GetCopy() | 67 options = options_for_unittests.GetCopy() |
| 40 browser_to_create = browser_finder.FindBrowser(options) | 68 browser_to_create = browser_finder.FindBrowser(options) |
| 41 with browser_to_create.Create() as b: | 69 with browser_to_create.Create() as b: |
| 42 # pylint: disable=W0212 | 70 # pylint: disable=W0212 |
| 43 self.assertGreater(b._backend._inspector_protocol_version, 0) | 71 self.assertGreater(b._backend._inspector_protocol_version, 0) |
| 44 self.assertGreater(b._backend._chrome_branch_number, 0) | 72 self.assertGreater(b._backend._chrome_branch_number, 0) |
| 45 self.assertGreater(b._backend._webkit_base_revision, 0) | 73 self.assertGreater(b._backend._webkit_base_revision, 0) |
| 46 | 74 |
| 47 def testNewCloseTab(self): | 75 def testNewCloseTab(self): |
| 48 options = options_for_unittests.GetCopy() | 76 options = options_for_unittests.GetCopy() |
| 49 browser_to_create = browser_finder.FindBrowser(options) | 77 browser_to_create = browser_finder.FindBrowser(options) |
| 50 with browser_to_create.Create() as b: | 78 with browser_to_create.Create() as b: |
| 51 self.assertEquals(1, b.num_tabs) | 79 self.assertEquals(1, b.num_tabs) |
| 52 existing_tab_url = b.GetNthTabUrl(0) | 80 existing_tab_url = b.GetNthTabUrl(0) |
| 53 b.NewTab() | 81 b.NewTab() |
| 54 self.assertEquals(2, b.num_tabs) | 82 self.assertEquals(2, b.num_tabs) |
| 55 self.assertEquals(b.GetNthTabUrl(0), existing_tab_url) | 83 self.assertEquals(b.GetNthTabUrl(0), existing_tab_url) |
| 56 self.assertEquals(b.GetNthTabUrl(1), 'about:blank') | 84 self.assertEquals(b.GetNthTabUrl(1), 'about:blank') |
| 57 b.CloseTab(1) | 85 b.CloseTab(1) |
| 58 self.assertEquals(1, b.num_tabs) | 86 self.assertEquals(1, b.num_tabs) |
| 59 self.assertEquals(b.GetNthTabUrl(0), existing_tab_url) | 87 self.assertEquals(b.GetNthTabUrl(0), existing_tab_url) |
| 60 self.assertRaises(AssertionError, b.CloseTab, 0) | 88 self.assertRaises(AssertionError, b.CloseTab, 0) |
| OLD | NEW |