Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / tools / perf / benchmarks / jsgamebench.py
index e872b55..d91313d 100644 (file)
@@ -6,16 +6,31 @@
 
 import os
 
+from metrics import power
 from telemetry import test
 from telemetry.page import page_measurement
 from telemetry.page import page_set
 
 
 class _JsgamebenchMeasurement(page_measurement.PageMeasurement):
-  def MeasurePage(self, _, tab, results):
+  def __init__(self):
+    super(_JsgamebenchMeasurement, 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('UI.call({}, "perftest")')
     tab.WaitForJavaScriptExpression(
-        'document.getElementById("perfscore0") != null', 1200)
+        'document.getElementById("perfscore0") != null', 1800)
+
+    self._power_metric.Stop(page, tab)
+    self._power_metric.AddResults(tab, results)
+
     js_get_results = 'document.getElementById("perfscore0").innerHTML'
     result = int(tab.EvaluateJavaScript(js_get_results))
     results.Add('Score', 'score (bigger is better)', result)
@@ -27,7 +42,7 @@ class Jsgamebench(test.Test):
 
   def CreatePageSet(self, options):
     return page_set.PageSet.FromDict({
-        'archive_data_file': '../data/jsgamebench.json',
+        'archive_data_file': '../page_sets/data/jsgamebench.json',
         'pages': [
           { 'url': 'http://localhost/' }
           ]