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

Side by Side Diff: tools/telemetry/telemetry/page/record_wpr.py

Issue 449963002: Modify all usage of PageMeasurement to use PageTest in tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 6 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 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2012 The Chromium Authors. All rights reserved. 2 # Copyright 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 import logging 5 import logging
6 import sys 6 import sys
7 import time 7 import time
8 8
9 from telemetry import benchmark 9 from telemetry import benchmark
10 from telemetry.core import browser_options 10 from telemetry.core import browser_options
11 from telemetry.core import discover 11 from telemetry.core import discover
12 from telemetry.core import wpr_modes 12 from telemetry.core import wpr_modes
13 from telemetry.page import page_measurement
14 from telemetry.page import page_runner 13 from telemetry.page import page_runner
15 from telemetry.page import page_set 14 from telemetry.page import page_set
16 from telemetry.page import page_test 15 from telemetry.page import page_test
17 from telemetry.page import profile_creator 16 from telemetry.page import profile_creator
18 from telemetry.page import test_expectations 17 from telemetry.page import test_expectations
19 from telemetry.results import results_options 18 from telemetry.results import results_options
20 19
21 20
22 class RecorderPageTest(page_test.PageTest): # pylint: disable=W0223 21 class RecorderPageTest(page_test.PageTest): # pylint: disable=W0223
23 def __init__(self, action_names): 22 def __init__(self, action_names):
(...skipping 16 matching lines...) Expand all
40 self.page_test.DidNavigateToPage(page, tab) 39 self.page_test.DidNavigateToPage(page, tab)
41 40
42 def WillRunActions(self, page, tab): 41 def WillRunActions(self, page, tab):
43 if self.page_test: 42 if self.page_test:
44 self.page_test.WillRunActions(page, tab) 43 self.page_test.WillRunActions(page, tab)
45 44
46 def DidRunActions(self, page, tab): 45 def DidRunActions(self, page, tab):
47 if self.page_test: 46 if self.page_test:
48 self.page_test.DidRunActions(page, tab) 47 self.page_test.DidRunActions(page, tab)
49 48
50 def ValidatePage(self, page, tab, results): 49 def ValidateAndMeasurePage(self, page, tab, results):
51 if self.page_test: 50 if self.page_test:
52 self.page_test.ValidatePage(page, tab, results) 51 self.page_test.ValidateAndMeasurePage(page, tab, results)
53 52
54 def RunPage(self, page, tab, results): 53 def RunPage(self, page, tab, results):
55 tab.WaitForDocumentReadyStateToBeComplete() 54 tab.WaitForDocumentReadyStateToBeComplete()
56 55
57 # When recording, sleep to catch any resources that load post-onload. 56 # When recording, sleep to catch any resources that load post-onload.
58 # TODO(tonyg): This should probably monitor resource timing for activity 57 # TODO(tonyg): This should probably monitor resource timing for activity
59 # and sleep until 2s since the last network event with some timeout like 58 # and sleep until 2s since the last network event with some timeout like
60 # 20s. We could wrap this up as WaitForNetworkIdle() and share with the 59 # 20s. We could wrap this up as WaitForNetworkIdle() and share with the
61 # speed index metric. 60 # speed index metric.
62 time.sleep(3) 61 time.sleep(3)
(...skipping 19 matching lines...) Expand all
82 def RunNavigateSteps(self, page, tab): 81 def RunNavigateSteps(self, page, tab):
83 if self.page_test: 82 if self.page_test:
84 self.page_test.RunNavigateSteps(page, tab) 83 self.page_test.RunNavigateSteps(page, tab)
85 else: 84 else:
86 super(RecorderPageTest, self).RunNavigateSteps(page, tab) 85 super(RecorderPageTest, self).RunNavigateSteps(page, tab)
87 86
88 87
89 def FindAllActionNames(base_dir): 88 def FindAllActionNames(base_dir):
90 """Returns a set of of all action names used in our measurements.""" 89 """Returns a set of of all action names used in our measurements."""
91 action_names = set() 90 action_names = set()
92 # Get all PageMeasurements except for ProfileCreators (see crbug.com/319573) 91 # Get all PageTests except for ProfileCreators (see crbug.com/319573)
93 for _, cls in discover.DiscoverClasses( 92 for _, cls in discover.DiscoverClasses(
94 base_dir, base_dir, page_measurement.PageMeasurement).items(): 93 base_dir, base_dir, page_test.PageTest).items():
95 if not issubclass(cls, profile_creator.ProfileCreator): 94 if not issubclass(cls, profile_creator.ProfileCreator):
96 action_name = cls().action_name_to_run 95 action_name = cls().action_name_to_run
97 if action_name: 96 if action_name:
98 action_names.add(action_name) 97 action_names.add(action_name)
99 return action_names 98 return action_names
100 99
101 100
102 def _MaybeGetInstanceOfClass(target, base_dir, cls): 101 def _MaybeGetInstanceOfClass(target, base_dir, cls):
103 if isinstance(target, cls): 102 if isinstance(target, cls):
104 return target 103 return target
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 quick_args = [a for a in sys.argv[1:] if not a.startswith('-')] 183 quick_args = [a for a in sys.argv[1:] if not a.startswith('-')]
185 if len(quick_args) != 1: 184 if len(quick_args) != 1:
186 print >> sys.stderr, 'Usage: record_wpr <PageSet|Benchmark>\n' 185 print >> sys.stderr, 'Usage: record_wpr <PageSet|Benchmark>\n'
187 sys.exit(1) 186 sys.exit(1)
188 target = quick_args.pop() 187 target = quick_args.pop()
189 wpr_recorder = WprRecorder(base_dir, target) 188 wpr_recorder = WprRecorder(base_dir, target)
190 results = wpr_recorder.CreateResults() 189 results = wpr_recorder.CreateResults()
191 wpr_recorder.Record(results) 190 wpr_recorder.Record(results)
192 wpr_recorder.HandleResults(results) 191 wpr_recorder.HandleResults(results)
193 return min(255, len(results.failures)) 192 return min(255, len(results.failures))
OLDNEW
« no previous file with comments | « tools/telemetry/telemetry/page/profile_creator.py ('k') | tools/telemetry/telemetry/page/record_wpr_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698