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

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

Issue 8677013: Fix bug preventing pyauto suite CHROMEOS_PERF from running on ChromeOS. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years 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/python 1 #!/usr/bin/python
2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2011 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 import time 6 import time
7 7
8 import pyauto_functional 8 import pyauto_functional
9 import pyauto 9 import pyauto
10 10
11 11
12 class NetflixTestHelper(): 12 class NetflixTestHelper():
13 """Helper functions for Netflix tests. 13 """Helper functions for Netflix tests.
14 14
15 For sample usage, look at class NetflixTest. 15 For sample usage, look at class NetflixTest.
16 """ 16 """
17 17
18 # Netflix player states. 18 # Netflix player states.
19 is_playing = '4' 19 IS_PLAYING = '4'
20 20
21 title_homepage = 'http://movies.netflix.com/WiHome' 21 TITLE_HOMEPAGE = 'http://movies.netflix.com/WiHome'
22 signout_page = 'https://account.netflix.com/Logout' 22 SIGNOUT_PAGE = 'https://account.netflix.com/Logout'
23 # 30 Rock 23 # 30 Rock.
24 test_title = 'http://movies.netflix.com/WiPlayer?'+ \ 24 VIDEO_URL = 'http://movies.netflix.com/WiPlayer?' + \
25 'movieid=70136124&trkid=2361637&t=30+Rock' 25 'movieid=70136124&trkid=2361637&t=30+Rock'
26 _pyauto = None 26 _pyauto = None
27 27
28 def __init__(self, pyauto): 28 def __init__(self, pyauto):
29 self._pyauto = pyauto 29 self._pyauto = pyauto
30 30
31 def _IsNetflixPluginEnabled(self): 31 def _IsNetflixPluginEnabled(self):
32 """Determine Netflix plugin availability and its state.""" 32 """Determine Netflix plugin availability and its state."""
33 return [x for x in self._pyauto.GetPluginsInfo().Plugins() \ 33 return [x for x in self._pyauto.GetPluginsInfo().Plugins() \
34 if x['name'] == 'Netflix' and x['enabled']] 34 if x['name'] == 'Netflix' and x['enabled']]
35 35
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 def _CurrentPlaybackTime(self): 90 def _CurrentPlaybackTime(self):
91 """Returns the current playback time in seconds.""" 91 """Returns the current playback time in seconds."""
92 time = self._pyauto.ExecuteJavascript(""" 92 time = self._pyauto.ExecuteJavascript("""
93 time = nrdp.video.currentTime; 93 time = nrdp.video.currentTime;
94 window.domAutomationController.send(time + ''); 94 window.domAutomationController.send(time + '');
95 """) 95 """)
96 return int(float(time)) 96 return int(float(time))
97 97
98 def _SignOut(self): 98 def _SignOut(self):
99 """Sing out from Netflix Login.""" 99 """Sing out from Netflix Login."""
100 self._pyauto.NavigateToURL(self._pyauto.signout_page) 100 self._pyauto.NavigateToURL(self.SIGNOUT_PAGE)
101 101
102 def _LoginAndStartPlaying(self): 102 def _LoginAndStartPlaying(self):
103 """Login and start playing the video.""" 103 """Login and start playing the video."""
104 self._pyauto.assertTrue(self._pyauto._IsNetflixPluginEnabled(), 104 self._pyauto.assertTrue(self._pyauto._IsNetflixPluginEnabled(),
105 msg='Netflix plugin is disabled or not available.') 105 msg='Netflix plugin is disabled or not available.')
106 self._pyauto._LoginToNetflix() 106 self._pyauto._LoginToNetflix()
107 self._pyauto.assertTrue(self._pyauto.WaitUntil( 107 self._pyauto.assertTrue(self._pyauto.WaitUntil(
108 lambda:self._pyauto.GetActiveTabURL().spec(), 108 lambda:self._pyauto.GetActiveTabURL().spec(),
109 expect_retval=self._pyauto.title_homepage), 109 expect_retval=self.TITLE_HOMEPAGE),
110 msg='Login to Netflix failed.') 110 msg='Login to Netflix failed.')
111 self._pyauto.NavigateToURL(self._pyauto.test_title) 111 self._pyauto.NavigateToURL(self.VIDEO_URL)
112 self._pyauto._HandleInfobars() 112 self._pyauto._HandleInfobars()
113 self._pyauto.assertTrue(self._pyauto.WaitUntil( 113 self._pyauto.assertTrue(self._pyauto.WaitUntil(
114 lambda: self._pyauto.ExecuteJavascript(""" 114 lambda: self._pyauto.ExecuteJavascript("""
115 player_status = nrdp.video.readyState; 115 player_status = nrdp.video.readyState;
116 window.domAutomationController.send(player_status + ''); 116 window.domAutomationController.send(player_status + '');
117 """), expect_retval=self._pyauto.is_playing), 117 """), expect_retval=self.IS_PLAYING),
118 msg='Player did not start playing the title.') 118 msg='Player did not start playing the title.')
119 119
120 class NetflixTest(pyauto.PyUITest, NetflixTestHelper): 120 class NetflixTest(pyauto.PyUITest, NetflixTestHelper):
121 """Test case for Netflix player.""" 121 """Test case for Netflix player."""
122 122
123 def __init__(self, methodName='runTest', **kwargs): 123 def __init__(self, methodName='runTest', **kwargs):
124 pyauto.PyUITest.__init__(self, methodName, **kwargs) 124 pyauto.PyUITest.__init__(self, methodName, **kwargs)
125 NetflixTestHelper.__init__(self, self) 125 NetflixTestHelper.__init__(self, self)
126 126
127 def tearDown(self): 127 def tearDown(self):
(...skipping 30 matching lines...) Expand all
158 # crosbug.com/22037 158 # crosbug.com/22037
159 # In case player doesn't start playing at all, above while loop may 159 # In case player doesn't start playing at all, above while loop may
160 # still pass. So re-verifying and assuming that player did play something 160 # still pass. So re-verifying and assuming that player did play something
161 # during last 10 seconds. 161 # during last 10 seconds.
162 self.assertTrue(current_time > 0, 162 self.assertTrue(current_time > 0,
163 msg='Netflix player didnot start playing.') 163 msg='Netflix player didnot start playing.')
164 164
165 165
166 if __name__ == '__main__': 166 if __name__ == '__main__':
167 pyauto_functional.Main() 167 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