OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 import os | 5 import os |
6 import re | 6 import re |
7 import sys | 7 import sys |
8 | 8 |
9 sys.path.append(os.path.join(os.path.dirname(__file__), '..')) | 9 sys.path.append(os.path.join(os.path.dirname(__file__), '..')) |
10 | 10 |
11 from telemetry.core import browser_finder | 11 import telemetry |
12 from telemetry.core import browser_options | |
13 | 12 |
14 def Main(args): | 13 def Main(args): |
15 options = browser_options.BrowserOptions() | 14 options = telemetry.BrowserOptions() |
16 parser = options.CreateParser('rendering_microbenchmark_test.py <sitelist>') | 15 parser = options.CreateParser('rendering_microbenchmark_test.py <sitelist>') |
17 # TODO(nduca): Add test specific options here, if any. | 16 # TODO(nduca): Add test specific options here, if any. |
18 options, args = parser.parse_args(args) | 17 options, args = parser.parse_args(args) |
19 if len(args) != 1: | 18 if len(args) != 1: |
20 parser.print_usage() | 19 parser.print_usage() |
21 return 255 | 20 return 255 |
22 | 21 |
23 urls = [] | 22 urls = [] |
24 with open(args[0], 'r') as f: | 23 with open(args[0], 'r') as f: |
25 for url in f.readlines(): | 24 for url in f.readlines(): |
26 url = url.strip() | 25 url = url.strip() |
27 if not re.match('(.+)://', url): | 26 if not re.match('(.+)://', url): |
28 url = 'http://%s' % url | 27 url = 'http://%s' % url |
29 urls.append(url) | 28 urls.append(url) |
30 | 29 |
31 options.extra_browser_args.append('--enable-gpu-benchmarking') | 30 options.extra_browser_args.append('--enable-gpu-benchmarking') |
32 browser_to_create = browser_finder.FindBrowser(options) | 31 browser_to_create = telemetry.FindBrowser(options) |
33 if not browser_to_create: | 32 if not browser_to_create: |
34 sys.stderr.write('No browser found! Supported types: %s' % | 33 sys.stderr.write('No browser found! Supported types: %s' % |
35 browser_finder.GetAllAvailableBrowserTypes(options)) | 34 telemetry.GetAllAvailableBrowserTypes(options)) |
36 return 255 | 35 return 255 |
37 with browser_to_create.Create() as b: | 36 with browser_to_create.Create() as b: |
38 tab = b.tabs[0] | 37 tab = b.tabs[0] |
39 # Check browser for benchmark API. Can only be done on non-chrome URLs. | 38 # Check browser for benchmark API. Can only be done on non-chrome URLs. |
40 tab.Navigate('http://www.google.com') | 39 tab.Navigate('http://www.google.com') |
41 import time | 40 import time |
42 time.sleep(2) | 41 time.sleep(2) |
43 tab.WaitForDocumentReadyStateToBeComplete() | 42 tab.WaitForDocumentReadyStateToBeComplete() |
44 if tab.EvaluateJavaScript('window.chrome.gpuBenchmarking === undefined'): | 43 if tab.EvaluateJavaScript('window.chrome.gpuBenchmarking === undefined'): |
45 print 'Browser does not support gpu benchmarks API.' | 44 print 'Browser does not support gpu benchmarks API.' |
(...skipping 22 matching lines...) Expand all Loading... |
68 tab.Navigate(u) | 67 tab.Navigate(u) |
69 tab.WaitForDocumentReadyStateToBeInteractiveOrBetter() | 68 tab.WaitForDocumentReadyStateToBeInteractiveOrBetter() |
70 results = tab.EvaluateJavaScript( | 69 results = tab.EvaluateJavaScript( |
71 'window.chrome.gpuBenchmarking.runRenderingBenchmarks();') | 70 'window.chrome.gpuBenchmarking.runRenderingBenchmarks();') |
72 DumpResults(url, results) | 71 DumpResults(url, results) |
73 | 72 |
74 return 0 | 73 return 0 |
75 | 74 |
76 if __name__ == '__main__': | 75 if __name__ == '__main__': |
77 sys.exit(Main(sys.argv[1:])) | 76 sys.exit(Main(sys.argv[1:])) |
OLD | NEW |