| Index: chrome/test/functional/chromeos_longterm_test.py
|
| ===================================================================
|
| --- chrome/test/functional/chromeos_longterm_test.py (revision 261231)
|
| +++ chrome/test/functional/chromeos_longterm_test.py (working copy)
|
| @@ -1,131 +0,0 @@
|
| -#!/usr/bin/env python
|
| -
|
| -# Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -
|
| -import logging
|
| -import time
|
| -
|
| -import pyauto_functional
|
| -import pyauto
|
| -import pyauto_utils
|
| -import timer_queue
|
| -
|
| -
|
| -class ChromeOSLongTerm(pyauto.PyUITest):
|
| - """Set of long running tests for ChromeOS.
|
| -
|
| - This class is comprised of several tests that perform long term tests.
|
| - """
|
| -
|
| - def _ActivateTabWithURL(self, url):
|
| - """Activates the window that has the given tab url.
|
| -
|
| - Args:
|
| - url: The url of the tab to find.
|
| -
|
| - Returns:
|
| - An array of the index values of the tab and window. Returns None if the
|
| - tab connot be found.
|
| - """
|
| - info = self.GetBrowserInfo()
|
| - windows = info['windows']
|
| - for window_index, window in enumerate(windows):
|
| - tabs = window['tabs']
|
| - for tab_index, tab in enumerate(tabs):
|
| - tab['url'] = tab['url'].strip('/')
|
| - if tab['url'] == url:
|
| - self.ActivateTab(tab_index, window_index)
|
| - return [tab_index, window_index]
|
| - return None
|
| -
|
| - def _SetupLongTermWindow(self, long_term_pages):
|
| - """Appends a list of tab to the current active window.
|
| -
|
| - Args:
|
| - long_term_pages: The list of urls to open.
|
| - """
|
| - for url in long_term_pages:
|
| - self.AppendTab(pyauto.GURL(url))
|
| -
|
| - def _RefreshLongTermWindow(self, long_term_pages):
|
| - """ Refreshes all of the tabs from the given list.
|
| -
|
| - Args:
|
| - long_term_pages: The list of urls to refresh.
|
| - """
|
| - for page in long_term_pages:
|
| - long_index = self._ActivateTabWithURL(page)
|
| - if not long_index:
|
| - logging.info('Unable to find page with url: %s.')
|
| - else:
|
| - self.ActivateTab(long_index[0], long_index[1])
|
| - self.ReloadActiveTab(long_index[1])
|
| -
|
| - def _ConfigureNewWindow(self, pages, incognito=False):
|
| - """Setups a windows with multiple tabs running.
|
| -
|
| - This method acts as a state machine. If a window containing a tab with the
|
| - url of the first item of pages it closes that window. If that window
|
| - cannot be found then a new window with the urls in pages is opened.
|
| -
|
| - Args:
|
| - pages: The list of urls to load.
|
| - """
|
| - page_index = self._ActivateTabWithURL(pages[0])
|
| - if not page_index:
|
| - # This means the pages do not exist, load them
|
| - if incognito:
|
| - self.RunCommand(pyauto.IDC_NEW_INCOGNITO_WINDOW)
|
| - else:
|
| - self.OpenNewBrowserWindow(True)
|
| - for url in pages:
|
| - self.AppendTab(pyauto.GURL(url), self.GetBrowserWindowCount() - 1)
|
| - # Cycle through the pages to make sure they render
|
| - win = self.GetBrowserInfo()['windows'][self.GetBrowserWindowCount() - 1]
|
| - for tab in win['tabs']:
|
| - self.ActivateTab(tab['index'], self.GetBrowserWindowCount() - 1)
|
| - # Give the plugin time to activate
|
| - time.sleep(1.5)
|
| - else:
|
| - self.CloseBrowserWindow(page_index[1])
|
| -
|
| - def testLongTerm(self):
|
| - """Main entry point for the long term tests.
|
| -
|
| - This method will spin in a while loop forever until it encounters a keyboard
|
| - interrupt. Other worker methods will be managed by the TimerQueue.
|
| - """
|
| - long_term_pages = ['http://news.google.com', 'http://www.engadget.com',
|
| - 'http://www.washingtonpost.com']
|
| -
|
| - flash_pages = [
|
| - 'http://www.craftymind.com/factory/guimark2/FlashChartingTest.swf',
|
| - 'http://www.craftymind.com/factory/guimark2/FlashGamingTest.swf',
|
| - 'http://www.craftymind.com/factory/guimark2/FlashTextTest.swf']
|
| -
|
| - incognito_pages = ['http://www.msn.com', 'http://www.ebay.com',
|
| - 'http://www.bu.edu', 'http://www.youtube.com']
|
| -
|
| - start_time = time.time()
|
| - self._SetupLongTermWindow(long_term_pages)
|
| - timers = timer_queue.TimerQueue()
|
| - timers.AddTimer(self._ConfigureNewWindow, 90, args=(flash_pages,))
|
| - timers.AddTimer(self._RefreshLongTermWindow, 30, args=(long_term_pages,))
|
| - timers.AddTimer(self._ConfigureNewWindow, 15, args=(incognito_pages, True))
|
| - timers.start()
|
| - try:
|
| - while True:
|
| - if not timers.is_alive():
|
| - logging.error('Timer queue died, shutting down.')
|
| - return
|
| - time.sleep(1)
|
| -
|
| - except KeyboardInterrupt:
|
| - # Kill the timers
|
| - timers.Stop()
|
| -
|
| -
|
| -if __name__ == '__main__':
|
| - pyauto_functional.Main()
|
|
|