| 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 improvement_direction |
| 16 from telemetry.value import scalar | 17 from telemetry.value import scalar |
| 17 | 18 |
| 18 | 19 |
| 19 class _MapsMeasurement(page_test.PageTest): | 20 class _MapsMeasurement(page_test.PageTest): |
| 20 def __init__(self): | 21 def __init__(self): |
| 21 super(_MapsMeasurement, self).__init__( | 22 super(_MapsMeasurement, self).__init__( |
| 22 action_name_to_run='RunPageInteractions') | 23 action_name_to_run='RunPageInteractions') |
| 23 | 24 |
| 24 def ValidateAndMeasurePage(self, page, tab, results): | 25 def ValidateAndMeasurePage(self, page, tab, results): |
| 25 js_get_results = 'document.getElementsByTagName("pre")[0].innerText' | 26 js_get_results = 'document.getElementsByTagName("pre")[0].innerText' |
| 26 test_results = tab.EvaluateJavaScript(js_get_results) | 27 test_results = tab.EvaluateJavaScript(js_get_results) |
| 27 | 28 |
| 28 total = re.search('total=([0-9]+)', test_results).group(1) | 29 total = re.search('total=([0-9]+)', test_results).group(1) |
| 29 render = re.search('render=([0-9.]+),([0-9.]+)', test_results).group(2) | 30 render = re.search('render=([0-9.]+),([0-9.]+)', test_results).group(2) |
| 30 results.AddValue(scalar.ScalarValue( | 31 results.AddValue(scalar.ScalarValue( |
| 31 results.current_page, 'total_time', 'ms', total)) | 32 results.current_page, 'total_time', 'ms', total, |
| 33 improvement_direction=improvement_direction.DOWN)) |
| 32 results.AddValue(scalar.ScalarValue( | 34 results.AddValue(scalar.ScalarValue( |
| 33 results.current_page, 'render_mean_time', 'ms', render)) | 35 results.current_page, 'render_mean_time', 'ms', render, |
| 36 improvement_direction=improvement_direction.DOWN)) |
| 34 | 37 |
| 35 class MapsPage(page_module.Page): | 38 class MapsPage(page_module.Page): |
| 36 def __init__(self, page_set, base_dir): | 39 def __init__(self, page_set, base_dir): |
| 37 super(MapsPage, self).__init__( | 40 super(MapsPage, self).__init__( |
| 38 url='http://localhost:10020/tracker.html', | 41 url='http://localhost:10020/tracker.html', |
| 39 page_set=page_set, | 42 page_set=page_set, |
| 40 base_dir=base_dir, | 43 base_dir=base_dir, |
| 41 make_javascript_deterministic=False) | 44 make_javascript_deterministic=False) |
| 42 | 45 |
| 43 def RunNavigateSteps(self, action_runner): | 46 def RunNavigateSteps(self, action_runner): |
| (...skipping 14 matching lines...) Expand all Loading... |
| 58 file_path=page_set_path) | 61 file_path=page_set_path) |
| 59 ps.AddUserStory(MapsPage(ps, ps.base_dir)) | 62 ps.AddUserStory(MapsPage(ps, ps.base_dir)) |
| 60 return ps | 63 return ps |
| 61 | 64 |
| 62 class MapsNoVsync(MapsBenchmark): | 65 class MapsNoVsync(MapsBenchmark): |
| 63 """Runs the Google Maps benchmark with Vsync disabled""" | 66 """Runs the Google Maps benchmark with Vsync disabled""" |
| 64 tag = 'novsync' | 67 tag = 'novsync' |
| 65 | 68 |
| 66 def CustomizeBrowserOptions(self, options): | 69 def CustomizeBrowserOptions(self, options): |
| 67 options.AppendExtraBrowserArgs('--disable-gpu-vsync') | 70 options.AppendExtraBrowserArgs('--disable-gpu-vsync') |
| OLD | NEW |