Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(744)

Side by Side Diff: tools/perf/benchmarks/browsermark.py

Issue 714273004: mac: Expose keychain access frequency to Telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mock_keychain_sleep
Patch Set: Add a common subclass to measurements. Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Runs Browsermark CSS, DOM, WebGL, JS, resize and page load benchmarks. 5 """Runs Browsermark CSS, DOM, WebGL, JS, resize and page load benchmarks.
6 6
7 Browsermark benchmark suite have five test groups: 7 Browsermark benchmark suite have five test groups:
8 a) CSS group: measures your browsers 2D and 3D performance, and finally executes 8 a) CSS group: measures your browsers 2D and 3D performance, and finally executes
9 CSS Crunch test 9 CSS Crunch test
10 b) DOM group: measures variety of areas, like how well your browser traverse in 10 b) DOM group: measures variety of areas, like how well your browser traverse in
11 Document Object Model Tree or how fast your browser can create dynamic content 11 Document Object Model Tree or how fast your browser can create dynamic content
12 c) General group: measures areas like resize and page load times 12 c) General group: measures areas like resize and page load times
13 d) Graphics group: tests browsers Graphics Processing Unit power by measuring 13 d) Graphics group: tests browsers Graphics Processing Unit power by measuring
14 WebGL and Canvas performance 14 WebGL and Canvas performance
15 e) Javascript group: executes number crunching by doing selected Array and 15 e) Javascript group: executes number crunching by doing selected Array and
16 String operations 16 String operations
17 Additionally Browsermark will test your browsers conformance, but conformance 17 Additionally Browsermark will test your browsers conformance, but conformance
18 tests are not included in this suite. 18 tests are not included in this suite.
19 """ 19 """
20 20
21 import os 21 import os
22 22
23 from measurements import PageTestMeasurement
23 from telemetry import benchmark 24 from telemetry import benchmark
24 from telemetry.page import page_set 25 from telemetry.page import page_set
25 from telemetry.page import page_test
26 from telemetry.value import scalar 26 from telemetry.value import scalar
27 27
28 class _BrowsermarkMeasurement(page_test.PageTest): 28 class _BrowsermarkMeasurement(PageTestMeasurement):
29 29
30 def ValidateAndMeasurePage(self, _, tab, results): 30 def ValidateAndMeasurePage(self, page, tab, results):
31 # Select nearest server(North America=1) and start test. 31 # Select nearest server(North America=1) and start test.
32 js_start_test = """ 32 js_start_test = """
33 for (var i=0; i < $('#continent a').length; i++) { 33 for (var i=0; i < $('#continent a').length; i++) {
34 if (($('#continent a')[i]).getAttribute('data-id') == '1') { 34 if (($('#continent a')[i]).getAttribute('data-id') == '1') {
35 $('#continent a')[i].click(); 35 $('#continent a')[i].click();
36 $('.start_test.enabled').click(); 36 $('.start_test.enabled').click();
37 } 37 }
38 } 38 }
39 """ 39 """
40 tab.ExecuteJavaScript(js_start_test) 40 tab.ExecuteJavaScript(js_start_test)
41 tab.WaitForJavaScriptExpression( 41 tab.WaitForJavaScriptExpression(
42 'window.location.pathname.indexOf("results") != -1', 600) 42 'window.location.pathname.indexOf("results") != -1', 600)
43 result = int(tab.EvaluateJavaScript( 43 result = int(tab.EvaluateJavaScript(
44 'document.getElementsByClassName("score")[0].innerHTML')) 44 'document.getElementsByClassName("score")[0].innerHTML'))
45 results.AddValue( 45 results.AddValue(
46 scalar.ScalarValue(results.current_page, 'Score', 'score', result)) 46 scalar.ScalarValue(results.current_page, 'Score', 'score', result))
47 47
48 super(_BrowsermarkMeasurement, self).ValidateAndMeasurePage(
49 page, tab, results)
50
48 51
49 @benchmark.Disabled 52 @benchmark.Disabled
50 class Browsermark(benchmark.Benchmark): 53 class Browsermark(benchmark.Benchmark):
51 """Browsermark suite tests CSS, DOM, resize, page load, WebGL and JS.""" 54 """Browsermark suite tests CSS, DOM, resize, page load, WebGL and JS."""
52 test = _BrowsermarkMeasurement 55 test = _BrowsermarkMeasurement
53 def CreatePageSet(self, options): 56 def CreatePageSet(self, options):
54 ps = page_set.PageSet( 57 ps = page_set.PageSet(
55 file_path=os.path.abspath(__file__), 58 file_path=os.path.abspath(__file__),
56 archive_data_file='../page_sets/data/browsermark.json', 59 archive_data_file='../page_sets/data/browsermark.json',
57 make_javascript_deterministic=False) 60 make_javascript_deterministic=False)
58 ps.AddPageWithDefaultRunNavigate('http://browsermark.rightware.com/tests/') 61 ps.AddPageWithDefaultRunNavigate('http://browsermark.rightware.com/tests/')
59 return ps 62 return ps
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698