Home | History | Annotate | Download | only in benchmarks
      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