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

Side by Side Diff: tools/telemetry/telemetry/core/wpr_server.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 import os 4 import os
5 import sys 5 import sys
6 6
7 from telemetry.core import util 7 from telemetry.core import util
8 8
9 # Get chrome/test/functional scripts into our path. 9 # Get chrome/test/functional scripts into our path.
10 # TODO(tonyg): Move webpagereplay.py to a common location. 10 # TODO(tonyg): Move webpagereplay.py to a common location.
11 sys.path.append( 11 sys.path.append(
12 os.path.abspath( 12 os.path.abspath(
13 os.path.join(os.path.dirname(__file__), 13 os.path.join(os.path.dirname(__file__),
14 '..', '..', '..', '..', 'chrome', 'test', 'functional'))) 14 '..', '..', '..', '..', 'chrome', 'test', 'functional')))
15 import webpagereplay # pylint: disable=F0401 15 import webpagereplay # pylint: disable=F0401
16 16
17 def GetChromeFlags(replay_host, http_port, https_port): 17 def GetChromeFlags(replay_host, http_port, https_port):
18 return webpagereplay.GetChromeFlags(replay_host, http_port, https_port) 18 return webpagereplay.GetChromeFlags(replay_host, http_port, https_port)
19 19
20 class _WebPageReplayServer(webpagereplay.ReplayServer): # pylint: disable=W0232
21 def _AddDefaultReplayOptions(self):
22 """Override.Because '--no-dns_forwarding' is added by default in parent
chrisgao (Use stgao instead) 2013/07/31 19:05:41 "Override.Because" -> "Override. Because"
chrisgao (Use stgao instead) 2013/08/01 00:36:44 Done in https://codereview.chromium.org/21406004/.
23 while webdriver-based backends need dns forwarding."""
24 self.replay_options += [
25 '--port', str(self._http_port),
26 '--ssl_port', str(self._https_port),
27 '--use_closest_match',
28 '--log_level', 'warning'
29 ]
30
20 class ReplayServer(object): 31 class ReplayServer(object):
21 def __init__(self, browser_backend, path, is_record_mode, is_append_mode, 32 def __init__(self, browser_backend, path, is_record_mode, is_append_mode,
22 make_javascript_deterministic, webpagereplay_host, 33 make_javascript_deterministic, webpagereplay_host,
23 webpagereplay_local_http_port, webpagereplay_local_https_port, 34 webpagereplay_local_http_port, webpagereplay_local_https_port,
24 webpagereplay_remote_http_port, webpagereplay_remote_https_port): 35 webpagereplay_remote_http_port, webpagereplay_remote_https_port):
25 self._browser_backend = browser_backend 36 self._browser_backend = browser_backend
26 self._forwarder = None 37 self._forwarder = None
27 self._web_page_replay = None 38 self._web_page_replay = None
28 self._is_record_mode = is_record_mode 39 self._is_record_mode = is_record_mode
29 self._is_append_mode = is_append_mode 40 self._is_append_mode = is_append_mode
(...skipping 10 matching lines...) Expand all
40 self._webpagereplay_remote_https_port)) 51 self._webpagereplay_remote_https_port))
41 52
42 options = browser_backend.options.extra_wpr_args 53 options = browser_backend.options.extra_wpr_args
43 if self._is_record_mode: 54 if self._is_record_mode:
44 if self._is_append_mode: 55 if self._is_append_mode:
45 options.append('--append') 56 options.append('--append')
46 else: 57 else:
47 options.append('--record') 58 options.append('--record')
48 if not make_javascript_deterministic: 59 if not make_javascript_deterministic:
49 options.append('--inject_scripts=') 60 options.append('--inject_scripts=')
50 self._web_page_replay = webpagereplay.ReplayServer( 61 browser_backend.CustomizeReplayServerWithOptions(options)
62 self._web_page_replay = _WebPageReplayServer(
51 path, 63 path,
52 self._webpagereplay_host, 64 self._webpagereplay_host,
53 self._webpagereplay_local_http_port, 65 self._webpagereplay_local_http_port,
54 self._webpagereplay_local_https_port, 66 self._webpagereplay_local_https_port,
55 options) 67 options)
56 self._web_page_replay.StartServer() 68 self._web_page_replay.StartServer()
57 69
58 def __enter__(self): 70 def __enter__(self):
59 return self 71 return self
60 72
61 def __exit__(self, *args): 73 def __exit__(self, *args):
62 self.Close() 74 self.Close()
63 75
64 def Close(self): 76 def Close(self):
65 if self._forwarder: 77 if self._forwarder:
66 self._forwarder.Close() 78 self._forwarder.Close()
67 self._forwarder = None 79 self._forwarder = None
68 if self._web_page_replay: 80 if self._web_page_replay:
69 self._web_page_replay.StopServer() 81 self._web_page_replay.StopServer()
70 self._web_page_replay = None 82 self._web_page_replay = None
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698