| OLD | NEW |
| (Empty) |
| 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 | |
| 3 # found in the LICENSE file. | |
| 4 import unittest | |
| 5 | |
| 6 from telemetry.core import browser_finder | |
| 7 from telemetry.test import options_for_unittests | |
| 8 | |
| 9 class TabTestCase(unittest.TestCase): | |
| 10 def __init__(self, *args): | |
| 11 self._extra_browser_args = [] | |
| 12 super(TabTestCase, self).__init__(*args) | |
| 13 | |
| 14 def setUp(self): | |
| 15 self._browser = None | |
| 16 self._tab = None | |
| 17 options = options_for_unittests.GetCopy() | |
| 18 | |
| 19 self.CustomizeBrowserOptions(options) | |
| 20 | |
| 21 if self._extra_browser_args: | |
| 22 for arg in self._extra_browser_args: | |
| 23 options.extra_browser_args.append(arg) | |
| 24 | |
| 25 browser_to_create = browser_finder.FindBrowser(options) | |
| 26 if not browser_to_create: | |
| 27 raise Exception('No browser found, cannot continue test.') | |
| 28 try: | |
| 29 self._browser = browser_to_create.Create() | |
| 30 self._tab = self._browser.tabs[0] | |
| 31 except: | |
| 32 self.tearDown() | |
| 33 raise | |
| 34 | |
| 35 def tearDown(self): | |
| 36 if self._tab: | |
| 37 self._tab.Disconnect() | |
| 38 if self._browser: | |
| 39 self._browser.Close() | |
| 40 | |
| 41 def CustomizeBrowserOptions(self, options): | |
| 42 """Override to add test-specific options to the BrowserOptions object""" | |
| 43 pass | |
| OLD | NEW |