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. 4 5 """Runs Microsoft's RoboHornet Pro benchmark.""" 6 7 import os 8 9 from telemetry import test 10 from telemetry.core import util 11 from telemetry.page import page_measurement 12 from telemetry.page import page_set 13 14 15 class RobohornetProMeasurement(page_measurement.PageMeasurement): 16 def MeasurePage(self, _, tab, results): 17 tab.ExecuteJavaScript('ToggleRoboHornet()') 18 19 done = 'document.getElementById("results").innerHTML.indexOf("Total") != -1' 20 def _IsDone(): 21 return tab.EvaluateJavaScript(done) 22 util.WaitFor(_IsDone, 120) 23 24 result = int(tab.EvaluateJavaScript('stopTime - startTime')) 25 results.Add('Total', 'ms', result) 26 27 28 class RobohornetPro(test.Test): 29 test = RobohornetProMeasurement 30 31 def CreatePageSet(self, options): 32 return page_set.PageSet.FromDict({ 33 'archive_data_file': '../data/robohornetpro.json', 34 # Measurement require use of real Date.now() for measurement. 35 'make_javascript_deterministic': False, 36 'pages': [ 37 { 'url': 38 'http://ie.microsoft.com/testdrive/performance/robohornetpro/' } 39 ] 40 }, os.path.abspath(__file__)) 41