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

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

Issue 222873002: Remove pyauto tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: sync Created 6 years, 8 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 | « chrome/test/functional/chromeos_crosh.py ('k') | chrome/test/functional/chromeos_power.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/usr/bin/env python
2
3 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file.
6
7 import logging
8 import time
9
10 import pyauto_functional
11 import pyauto
12 import pyauto_utils
13 import timer_queue
14
15
16 class ChromeOSLongTerm(pyauto.PyUITest):
17 """Set of long running tests for ChromeOS.
18
19 This class is comprised of several tests that perform long term tests.
20 """
21
22 def _ActivateTabWithURL(self, url):
23 """Activates the window that has the given tab url.
24
25 Args:
26 url: The url of the tab to find.
27
28 Returns:
29 An array of the index values of the tab and window. Returns None if the
30 tab connot be found.
31 """
32 info = self.GetBrowserInfo()
33 windows = info['windows']
34 for window_index, window in enumerate(windows):
35 tabs = window['tabs']
36 for tab_index, tab in enumerate(tabs):
37 tab['url'] = tab['url'].strip('/')
38 if tab['url'] == url:
39 self.ActivateTab(tab_index, window_index)
40 return [tab_index, window_index]
41 return None
42
43 def _SetupLongTermWindow(self, long_term_pages):
44 """Appends a list of tab to the current active window.
45
46 Args:
47 long_term_pages: The list of urls to open.
48 """
49 for url in long_term_pages:
50 self.AppendTab(pyauto.GURL(url))
51
52 def _RefreshLongTermWindow(self, long_term_pages):
53 """ Refreshes all of the tabs from the given list.
54
55 Args:
56 long_term_pages: The list of urls to refresh.
57 """
58 for page in long_term_pages:
59 long_index = self._ActivateTabWithURL(page)
60 if not long_index:
61 logging.info('Unable to find page with url: %s.')
62 else:
63 self.ActivateTab(long_index[0], long_index[1])
64 self.ReloadActiveTab(long_index[1])
65
66 def _ConfigureNewWindow(self, pages, incognito=False):
67 """Setups a windows with multiple tabs running.
68
69 This method acts as a state machine. If a window containing a tab with the
70 url of the first item of pages it closes that window. If that window
71 cannot be found then a new window with the urls in pages is opened.
72
73 Args:
74 pages: The list of urls to load.
75 """
76 page_index = self._ActivateTabWithURL(pages[0])
77 if not page_index:
78 # This means the pages do not exist, load them
79 if incognito:
80 self.RunCommand(pyauto.IDC_NEW_INCOGNITO_WINDOW)
81 else:
82 self.OpenNewBrowserWindow(True)
83 for url in pages:
84 self.AppendTab(pyauto.GURL(url), self.GetBrowserWindowCount() - 1)
85 # Cycle through the pages to make sure they render
86 win = self.GetBrowserInfo()['windows'][self.GetBrowserWindowCount() - 1]
87 for tab in win['tabs']:
88 self.ActivateTab(tab['index'], self.GetBrowserWindowCount() - 1)
89 # Give the plugin time to activate
90 time.sleep(1.5)
91 else:
92 self.CloseBrowserWindow(page_index[1])
93
94 def testLongTerm(self):
95 """Main entry point for the long term tests.
96
97 This method will spin in a while loop forever until it encounters a keyboard
98 interrupt. Other worker methods will be managed by the TimerQueue.
99 """
100 long_term_pages = ['http://news.google.com', 'http://www.engadget.com',
101 'http://www.washingtonpost.com']
102
103 flash_pages = [
104 'http://www.craftymind.com/factory/guimark2/FlashChartingTest.swf',
105 'http://www.craftymind.com/factory/guimark2/FlashGamingTest.swf',
106 'http://www.craftymind.com/factory/guimark2/FlashTextTest.swf']
107
108 incognito_pages = ['http://www.msn.com', 'http://www.ebay.com',
109 'http://www.bu.edu', 'http://www.youtube.com']
110
111 start_time = time.time()
112 self._SetupLongTermWindow(long_term_pages)
113 timers = timer_queue.TimerQueue()
114 timers.AddTimer(self._ConfigureNewWindow, 90, args=(flash_pages,))
115 timers.AddTimer(self._RefreshLongTermWindow, 30, args=(long_term_pages,))
116 timers.AddTimer(self._ConfigureNewWindow, 15, args=(incognito_pages, True))
117 timers.start()
118 try:
119 while True:
120 if not timers.is_alive():
121 logging.error('Timer queue died, shutting down.')
122 return
123 time.sleep(1)
124
125 except KeyboardInterrupt:
126 # Kill the timers
127 timers.Stop()
128
129
130 if __name__ == '__main__':
131 pyauto_functional.Main()
OLDNEW
« no previous file with comments | « chrome/test/functional/chromeos_crosh.py ('k') | chrome/test/functional/chromeos_power.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698