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

Unified 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, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/functional/perf.py
diff --git a/chrome/test/functional/perf.py b/chrome/test/functional/perf.py
index 45f29116c122ce3d0a664b0b6643ef923310a07f..8525b8099c1b2cdeedfca0f365dafb46fd6b5c1e 100755
--- a/chrome/test/functional/perf.py
+++ b/chrome/test/functional/perf.py
@@ -911,6 +911,49 @@ class YoutubePerfTest(BasePerfTest, YoutubeTestHelper):
graph_name='YoutubeCPUExtrapolation')
+class FlashVideoPerfTest(BasePerfTest):
+ """General flash video performance tests."""
+
+ def FlashVideo1080P(self):
+ """Measures total dropped frames and average FPS for a 1080p flash video.
+
+ This is a temporary test to be run manually for now, needed to collect some
+ performance statistics across different ChromeOS devices.
+ """
+ # Open up the test webpage; it's assumed the test will start automatically.
+ 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
+ self.assertTrue(self.AppendTab(pyauto.GURL(webpage_url)),
+ msg='Failed to append tab for webpage.')
+
+ # Wait until the test is complete.
+ js_is_done = """
+ window.domAutomationController.send(JSON.stringify(tests_done));
+ """
+ self.assertTrue(
+ self.WaitUntil(
+ lambda: self.ExecuteJavascript(js_is_done, tab_index=1) == 'true',
+ timeout=300, expect_retval=True, retry_sleep=1),
+ msg='Timed out when waiting for test result.')
+
+ # Retrieve and output the test results.
+ js_results = """
+ window.domAutomationController.send(JSON.stringify(tests_results));
+ """
+ test_result = eval(self.ExecuteJavascript(js_results, tab_index=1))
+ test_result[0] = test_result[0].replace('true', 'True')
+ test_result = eval(test_result[0]) # Webpage only does 1 test right now.
+
+ description = 'FlashVideo1080P'
+ result = test_result['averageFPS']
+ logging.info('Result for %s: %f FPS (average)', description, result)
+ self._OutputPerfGraphValue(description, result, 'FPS',
+ graph_name=description)
+ result = test_result['droppedFrames']
+ logging.info('Result for %s: %f dropped frames', description, result)
+ self._OutputPerfGraphValue(description, result, 'DroppedFrames',
+ graph_name=description)
+
+
class WebGLTest(BasePerfTest):
"""Tests for WebGL performance."""
« 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