OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 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 | 4 |
5 """Runs a Google Maps performance test. | 5 """Runs a Google Maps performance test. |
6 Rerforms several common navigation actions on the map (pan, zoom, rotate)""" | 6 Rerforms several common navigation actions on the map (pan, zoom, rotate)""" |
7 | 7 |
8 import os | 8 import os |
9 import re | 9 import re |
10 | 10 |
11 from telemetry import benchmark | 11 from telemetry import benchmark |
12 from telemetry.core import util | 12 from telemetry.core import util |
13 from telemetry.page import page as page_module | 13 from telemetry.page import page as page_module |
14 from telemetry.page import page_set as page_set_module | 14 from telemetry.page import page_set as page_set_module |
15 from telemetry.page import page_test | 15 from telemetry.page import page_test |
16 from telemetry.value import scalar | 16 from telemetry.value import scalar |
17 | 17 |
18 | 18 |
19 class _MapsMeasurement(page_test.PageTest): | 19 class _MapsMeasurement(page_test.PageTest): |
20 def ValidateAndMeasurePage(self, page, tab, results): | 20 def ValidateAndMeasurePage(self, page, tab, results): |
21 js_get_results = 'document.getElementsByTagName("pre")[0].innerText' | 21 js_get_results = 'document.getElementsByTagName("pre")[0].innerText' |
22 test_results = tab.EvaluateJavaScript(js_get_results) | 22 test_results = tab.EvaluateJavaScript(js_get_results) |
23 | 23 |
24 total = re.search('total=([0-9]+)', test_results).group(1) | 24 total = re.search('total=([0-9]+)', test_results).group(1) |
25 render = re.search('render=([0-9.]+),([0-9.]+)', test_results).group(2) | 25 render = re.search('render=([0-9.]+),([0-9.]+)', test_results).group(2) |
26 results.AddValue(scalar.ScalarValue( | 26 results.AddValue(scalar.ScalarValue( |
27 results.current_page, 'total_time', 'ms', total)) | 27 results.current_page, 'total_time', 'ms', total, |
| 28 higher_is_better=False)) |
28 results.AddValue(scalar.ScalarValue( | 29 results.AddValue(scalar.ScalarValue( |
29 results.current_page, 'render_mean_time', 'ms', render)) | 30 results.current_page, 'render_mean_time', 'ms', render, |
| 31 higher_is_better=False)) |
30 | 32 |
31 class MapsPage(page_module.Page): | 33 class MapsPage(page_module.Page): |
32 def __init__(self, page_set, base_dir): | 34 def __init__(self, page_set, base_dir): |
33 super(MapsPage, self).__init__( | 35 super(MapsPage, self).__init__( |
34 url='http://localhost:10020/tracker.html', | 36 url='http://localhost:10020/tracker.html', |
35 page_set=page_set, | 37 page_set=page_set, |
36 base_dir=base_dir, | 38 base_dir=base_dir, |
37 make_javascript_deterministic=False) | 39 make_javascript_deterministic=False) |
38 | 40 |
39 def RunNavigateSteps(self, action_runner): | 41 def RunNavigateSteps(self, action_runner): |
(...skipping 14 matching lines...) Expand all Loading... |
54 file_path=page_set_path) | 56 file_path=page_set_path) |
55 ps.AddUserStory(MapsPage(ps, ps.base_dir)) | 57 ps.AddUserStory(MapsPage(ps, ps.base_dir)) |
56 return ps | 58 return ps |
57 | 59 |
58 class MapsNoVsync(MapsBenchmark): | 60 class MapsNoVsync(MapsBenchmark): |
59 """Runs the Google Maps benchmark with Vsync disabled""" | 61 """Runs the Google Maps benchmark with Vsync disabled""" |
60 tag = 'novsync' | 62 tag = 'novsync' |
61 | 63 |
62 def CustomizeBrowserOptions(self, options): | 64 def CustomizeBrowserOptions(self, options): |
63 options.AppendExtraBrowserArgs('--disable-gpu-vsync') | 65 options.AppendExtraBrowserArgs('--disable-gpu-vsync') |
OLD | NEW |