| 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 |