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 import browser_finder | |
7 from telemetry 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 |