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
3 # found in the LICENSE file.
5 """Runs Microsoft's RoboHornet Pro benchmark."""
9 from metrics import power
10 from telemetry import test
11 from telemetry.page import page_measurement
12 from telemetry.page import page_set
15 class _RobohornetProMeasurement(page_measurement.PageMeasurement):
17 super(_RobohornetProMeasurement, self).__init__()
18 self._power_metric = power.PowerMetric()
20 def CustomizeBrowserOptions(self, options):
21 power.PowerMetric.CustomizeBrowserOptions(options)
23 def DidNavigateToPage(self, page, tab):
24 self._power_metric.Start(page, tab)
26 def MeasurePage(self, page, tab, results):
27 tab.ExecuteJavaScript('ToggleRoboHornet()')
28 tab.WaitForJavaScriptExpression(
29 'document.getElementById("results").innerHTML.indexOf("Total") != -1',
32 self._power_metric.Stop(page, tab)
33 self._power_metric.AddResults(tab, results)
35 result = int(tab.EvaluateJavaScript('stopTime - startTime'))
36 results.Add('Total', 'ms', result)
39 class RobohornetPro(test.Test):
40 test = _RobohornetProMeasurement
42 def CreatePageSet(self, options):
43 ps = page_set.PageSet(
44 archive_data_file='../page_sets/data/robohornet_pro.json',
45 # Measurement require use of real Date.now() for measurement.
46 make_javascript_deterministic=False,
47 file_path=os.path.abspath(__file__))
48 ps.AddPageWithDefaultRunNavigate(
49 'http://ie.microsoft.com/testdrive/performance/robohornetpro/')