Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Side by Side Diff: tools/telemetry/telemetry/core/chrome/desktop_browser_finder.py

Issue 20672002: [telemetry] Add a webdriver backend with support for IE. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 """Finds desktop browsers that can be controlled by telemetry.""" 4 """Finds desktop browsers that can be controlled by telemetry."""
5 5
6 import logging 6 import logging
7 from operator import attrgetter 7 from operator import attrgetter
8 import os 8 import os
9 import platform 9 import platform
10 import subprocess 10 import subprocess
11 import sys 11 import sys
12 12
13 from telemetry.core import browser 13 from telemetry.core import browser
14 from telemetry.core import possible_browser 14 from telemetry.core import possible_browser
15 from telemetry.core import profile_types 15 from telemetry.core import profile_types
16 from telemetry.core.chrome import cros_interface 16 from telemetry.core.chrome import cros_interface
17 from telemetry.core.chrome import desktop_browser_backend 17 from telemetry.core.chrome import desktop_browser_backend
18 from telemetry.core.platform import linux_platform_backend 18 from telemetry.core.platform import util as platform_util
19 from telemetry.core.platform import mac_platform_backend
20 from telemetry.core.platform import win_platform_backend
21 19
22 ALL_BROWSER_TYPES = ','.join([ 20 ALL_BROWSER_TYPES = ','.join([
23 'exact', 21 'exact',
24 'release', 22 'release',
25 'release_x64', 23 'release_x64',
26 'debug', 24 'debug',
27 'debug_x64', 25 'debug_x64',
28 'canary', 26 'canary',
29 'content-shell-debug', 27 'content-shell-debug',
30 'content-shell-release', 28 'content-shell-release',
(...skipping 13 matching lines...) Expand all
44 def __repr__(self): 42 def __repr__(self):
45 return 'PossibleDesktopBrowser(browser_type=%s)' % self.browser_type 43 return 'PossibleDesktopBrowser(browser_type=%s)' % self.browser_type
46 44
47 # Constructs a browser. 45 # Constructs a browser.
48 # Returns a touple of the form: (browser, backend) 46 # Returns a touple of the form: (browser, backend)
49 def _CreateBrowserInternal(self, delete_profile_dir_after_run): 47 def _CreateBrowserInternal(self, delete_profile_dir_after_run):
50 backend = desktop_browser_backend.DesktopBrowserBackend( 48 backend = desktop_browser_backend.DesktopBrowserBackend(
51 self._options, self._local_executable, self._flash_path, 49 self._options, self._local_executable, self._flash_path,
52 self._is_content_shell, 50 self._is_content_shell,
53 delete_profile_dir_after_run=delete_profile_dir_after_run) 51 delete_profile_dir_after_run=delete_profile_dir_after_run)
54 if sys.platform.startswith('linux'): 52 b = browser.Browser(backend,
55 p = linux_platform_backend.LinuxPlatformBackend() 53 platform_util.CreatePlatformBackendForCurrentOS())
56 elif sys.platform == 'darwin':
57 p = mac_platform_backend.MacPlatformBackend()
58 elif sys.platform == 'win32':
59 p = win_platform_backend.WinPlatformBackend()
60 else:
61 raise NotImplementedError()
62
63 b = browser.Browser(backend, p)
64 backend.SetBrowser(b) 54 backend.SetBrowser(b)
65 return (b, backend) 55 return (b, backend)
66 56
67 def Create(self): 57 def Create(self):
68 # If a dirty profile is needed, instantiate an initial browser object and 58 # If a dirty profile is needed, instantiate an initial browser object and
69 # use that to create a dirty profile. 59 # use that to create a dirty profile.
70 creator_class = profile_types.GetProfileCreator(self.options.profile_type) 60 creator_class = profile_types.GetProfileCreator(self.options.profile_type)
71 if creator_class: 61 if creator_class:
72 logging.info( 62 logging.info(
73 'Creating a dirty profile of type: %s', self.options.profile_type) 63 'Creating a dirty profile of type: %s', self.options.profile_type)
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 chromium_app_name, False): 233 chromium_app_name, False):
244 break 234 break
245 235
246 if len(browsers) and not has_display: 236 if len(browsers) and not has_display:
247 logging.warning( 237 logging.warning(
248 'Found (%s), but you do not have a DISPLAY environment set.' % 238 'Found (%s), but you do not have a DISPLAY environment set.' %
249 ','.join([b.browser_type for b in browsers])) 239 ','.join([b.browser_type for b in browsers]))
250 return [] 240 return []
251 241
252 return browsers 242 return browsers
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698