video_YouTubeFlash.py revision c018b97e074c876c765ccfc4e9732a3d8c6a4cb8
1c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana# Copyright (c) 2013 The Chromium OS Authors. All rights reserved. 2c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana# Use of this source code is governed by a BSD-style license that can be 3c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana# found in the LICENSE file. 4c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 5c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 6c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasanafrom autotest_lib.client.bin import test, utils 7c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasanafrom autotest_lib.client.common_lib import error 8c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasanafrom autotest_lib.client.common_lib.cros import chrome 9c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasanafrom autotest_lib.client.cros import httpd 10c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasanafrom autotest_lib.client.cros.video import youtube_helper 11c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 12c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 13c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit MakasanaFLASH_PROCESS_NAME = 'chrome/chrome --type=ppapi' 14c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit MakasanaPLAYER_PLAYING_STATE = 'Playing' 15c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 16c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 17c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasanaclass video_YouTubeFlash(test.test): 18c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana """This test verify the YouTube Flash video. 19c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 20c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana - verify the video playback. 21c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana - verify the available video resolutions. 22c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana - verify the player functionalities. 23c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 24c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana """ 25c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana version = 2 26c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 27c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 28c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana def initialize(self): 29c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana self._testServer = httpd.HTTPListener(8000, docroot=self.bindir) 30c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana self._testServer.run() 31c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 32c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 33c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana def cleanup(self): 34c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana if self._testServer: 35c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana self._testServer.stop() 36c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 37c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 38c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana def run_youtube_tests(self, browser): 39c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana """Run YouTube Flash sanity tests. 40c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 41c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana @param browser: The Browser object to run the test with. 42c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 43c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana """ 44c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana tab = browser.tabs.New() 45c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana tab.Navigate('http://localhost:8000/youtube.html') 46c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana yh = youtube_helper.YouTubeHelper(tab) 47c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana # Waiting for test video to load. 48c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana yh.wait_for_player_state(PLAYER_PLAYING_STATE) 49c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana yh.set_video_duration() 50c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 51c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana # Verify that YouTube is running in Flash mode. 52c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana prc = utils.get_process_list('chrome', '--type=ppapi') 53c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana if not prc: 54c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana raise error.TestFail('No Flash process is running.') 55c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 56c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana tab.ExecuteJavaScript('player.mute()') 57c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana yh.verify_video_playback() 58c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana yh.verify_video_resolutions() 59c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana yh.verify_player_states() 60c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 61c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana 62c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana def run_once(self): 63c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana with chrome.Chrome() as cr: 64c018b97e074c876c765ccfc4e9732a3d8c6a4cb8Rohit Makasana self.run_youtube_tests(cr.browser) 65