blob: 99f3dc43e727f034c812fe991e3bcd204ba45ca4 [file] [log] [blame]
# Copyright 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Runs Microsoft's RoboHornet Pro benchmark."""
import os
from metrics import power
from telemetry import test
from telemetry.page import page_measurement
from telemetry.page import page_set
class _RobohornetProMeasurement(page_measurement.PageMeasurement):
def __init__(self):
super(_RobohornetProMeasurement, self).__init__()
self._power_metric = power.PowerMetric()
def CustomizeBrowserOptions(self, options):
power.PowerMetric.CustomizeBrowserOptions(options)
def DidNavigateToPage(self, page, tab):
self._power_metric.Start(page, tab)
def MeasurePage(self, page, tab, results):
tab.ExecuteJavaScript('ToggleRoboHornet()')
tab.WaitForJavaScriptExpression(
'document.getElementById("results").innerHTML.indexOf("Total") != -1',
600)
self._power_metric.Stop(page, tab)
self._power_metric.AddResults(tab, results)
result = int(tab.EvaluateJavaScript('stopTime - startTime'))
results.Add('Total', 'ms', result)
class RobohornetPro(test.Test):
test = _RobohornetProMeasurement
def CreatePageSet(self, options):
ps = page_set.PageSet(
archive_data_file='../page_sets/data/robohornet_pro.json',
# Measurement require use of real Date.now() for measurement.
make_javascript_deterministic=False,
file_path=os.path.abspath(__file__))
ps.AddPageWithDefaultRunNavigate(
'http://ie.microsoft.com/testdrive/performance/robohornetpro/')
return ps