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 Facebook's JSGameBench benchmark."""
      6 
      7 import os
      8 
      9 from telemetry import test
     10 from telemetry.page import page_measurement
     11 from telemetry.page import page_set
     12 
     13 
     14 class _JsgamebenchMeasurement(page_measurement.PageMeasurement):
     15   def MeasurePage(self, _, tab, results):
     16     tab.ExecuteJavaScript('UI.call({}, "perftest")')
     17     tab.WaitForJavaScriptExpression(
     18         'document.getElementById("perfscore0") != null', 1800)
     19     js_get_results = 'document.getElementById("perfscore0").innerHTML'
     20     result = int(tab.EvaluateJavaScript(js_get_results))
     21     results.Add('Score', 'score (bigger is better)', result)
     22 
     23 
     24 class Jsgamebench(test.Test):
     25   """Counts how many animating sprites can move around on the screen at once."""
     26   test = _JsgamebenchMeasurement
     27 
     28   def CreatePageSet(self, options):
     29     return page_set.PageSet.FromDict({
     30         'archive_data_file': '../page_sets/data/jsgamebench.json',
     31         'pages': [
     32           { 'url': 'http://localhost/' }
     33           ]
     34         }, os.path.dirname(__file__))
     35