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

Side by Side Diff: chrome/test/functional/perf.py

Issue 9320001: Added a new pyauto-based flash video performance test to perf.py. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 months 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 5
6 """Basic pyauto performance tests. 6 """Basic pyauto performance tests.
7 7
8 For tests that need to be run for multiple iterations (e.g., so that average 8 For tests that need to be run for multiple iterations (e.g., so that average
9 and standard deviation values can be reported), the default number of iterations 9 and standard deviation values can be reported), the default number of iterations
10 run for each of these tests is specified by |_DEFAULT_NUM_ITERATIONS|. 10 run for each of these tests is specified by |_DEFAULT_NUM_ITERATIONS|.
(...skipping 893 matching lines...) Expand 10 before | Expand all | Expand 10 after
904 # Counting extrapolation for utilization to play the video. 904 # Counting extrapolation for utilization to play the video.
905 extrapolation_value = (fraction_non_idle_time * 905 extrapolation_value = (fraction_non_idle_time *
906 (total_frames / total_shown_frames)) 906 (total_frames / total_shown_frames))
907 logging.info('Youtube CPU extrapolation: %f' % extrapolation_value) 907 logging.info('Youtube CPU extrapolation: %f' % extrapolation_value)
908 self._OutputPerfGraphValue( 908 self._OutputPerfGraphValue(
909 'YoutubeCPUExtrapolation', 909 'YoutubeCPUExtrapolation',
910 extrapolation_value, 'extrapolation', 910 extrapolation_value, 'extrapolation',
911 graph_name='YoutubeCPUExtrapolation') 911 graph_name='YoutubeCPUExtrapolation')
912 912
913 913
914 class FlashVideoPerfTest(BasePerfTest):
915 """General flash video performance tests."""
916
917 def FlashVideo1080P(self):
918 """Measures total dropped frames and average FPS for a 1080p flash video.
919
920 This is a temporary test to be run manually for now, needed to collect some
921 performance statistics across different ChromeOS devices.
922 """
923 # Open up the test webpage; it's assumed the test will start automatically.
924 webpage_url = 'http://www.corp.google.com/~arscott/fl/FlashVideoTests.html'
Nirnimesh 2012/02/01 02:04:01 It's not a good idea to put internal URLs like thi
dennis_jeffrey 2012/02/01 02:13:32 Changed the URL slightly as discussed offline. It
925 self.assertTrue(self.AppendTab(pyauto.GURL(webpage_url)),
926 msg='Failed to append tab for webpage.')
927
928 # Wait until the test is complete.
929 js_is_done = """
930 window.domAutomationController.send(JSON.stringify(tests_done));
931 """
932 self.assertTrue(
933 self.WaitUntil(
934 lambda: self.ExecuteJavascript(js_is_done, tab_index=1) == 'true',
935 timeout=300, expect_retval=True, retry_sleep=1),
936 msg='Timed out when waiting for test result.')
937
938 # Retrieve and output the test results.
939 js_results = """
940 window.domAutomationController.send(JSON.stringify(tests_results));
941 """
942 test_result = eval(self.ExecuteJavascript(js_results, tab_index=1))
943 test_result[0] = test_result[0].replace('true', 'True')
944 test_result = eval(test_result[0]) # Webpage only does 1 test right now.
945
946 description = 'FlashVideo1080P'
947 result = test_result['averageFPS']
948 logging.info('Result for %s: %f FPS (average)', description, result)
949 self._OutputPerfGraphValue(description, result, 'FPS',
950 graph_name=description)
951 result = test_result['droppedFrames']
952 logging.info('Result for %s: %f dropped frames', description, result)
953 self._OutputPerfGraphValue(description, result, 'DroppedFrames',
954 graph_name=description)
955
956
914 class WebGLTest(BasePerfTest): 957 class WebGLTest(BasePerfTest):
915 """Tests for WebGL performance.""" 958 """Tests for WebGL performance."""
916 959
917 def _RunWebGLTest(self, url, description): 960 def _RunWebGLTest(self, url, description):
918 """Measures FPS using a specified WebGL demo. 961 """Measures FPS using a specified WebGL demo.
919 962
920 Args: 963 Args:
921 url: The string URL that, once loaded, will run the WebGL demo (default 964 url: The string URL that, once loaded, will run the WebGL demo (default
922 WebGL demo settings are used, since this test does not modify any 965 WebGL demo settings are used, since this test does not modify any
923 settings in the demo). 966 settings in the demo).
(...skipping 687 matching lines...) Expand 10 before | Expand all | Expand 10 after
1611 """Identifies the port number to which the server is currently bound. 1654 """Identifies the port number to which the server is currently bound.
1612 1655
1613 Returns: 1656 Returns:
1614 The numeric port number to which the server is currently bound. 1657 The numeric port number to which the server is currently bound.
1615 """ 1658 """
1616 return self._server.server_address[1] 1659 return self._server.server_address[1]
1617 1660
1618 1661
1619 if __name__ == '__main__': 1662 if __name__ == '__main__':
1620 pyauto_functional.Main() 1663 pyauto_functional.Main()
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698