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

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

Issue 10830193: Remove SWIGged use of BrowserProxy and TabProxy from PyAuto tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 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
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env 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 """Pyauto powered ui action runner. 6 """Pyauto powered ui action runner.
7 7
8 Developed primarily to verify validity of the model based action generator. 8 Developed primarily to verify validity of the model based action generator.
9 """ 9 """
10 10
11 import time 11 import time
12 import sys 12 import sys
13 13
14 import pyauto_functional 14 import pyauto_functional
15 import pyauto 15 import pyauto
16 import ui_model 16 import ui_model
Nirnimesh 2012/08/07 00:37:35 Remove this file and ui_model.py
craigdh 2012/08/07 21:08:51 Done.
17 17
18 class Runner(pyauto.PyUITest): 18 class Runner(pyauto.PyUITest):
19 19
20 def setUp(self): 20 def setUp(self):
21 self.debug_mode = False 21 self.debug_mode = False
22 pyauto.PyUITest.setUp(self) 22 pyauto.PyUITest.setUp(self)
23 23
24 def RunActionList(self): 24 def RunActionList(self):
25 """Runs actions from a file.""" 25 """Runs actions from a file."""
26 f = open('list') 26 f = open('list')
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 if tab_count != expected_count: 85 if tab_count != expected_count:
86 self.Error('tab count out of sync: count: %d expected: %d' % ( 86 self.Error('tab count out of sync: count: %d expected: %d' % (
87 tab_count, expected_count)) 87 tab_count, expected_count))
88 window_count = self.GetBrowserWindowCount() 88 window_count = self.GetBrowserWindowCount()
89 expected_count = self.browser.num_windows 89 expected_count = self.browser.num_windows
90 if window_count != expected_count: 90 if window_count != expected_count:
91 self.Error('window count out of sync: count: %d expected %d' % ( 91 self.Error('window count out of sync: count: %d expected %d' % (
92 window_count, expected_count)) 92 window_count, expected_count))
93 93
94 def _GrabTab(self): 94 def _GrabTab(self):
95 active_window = self.browser.window_position
96 window = self.GetBrowserWindow(active_window)
97 tab_count = self.GetTabCount(self.browser.window_position) 95 tab_count = self.GetTabCount(self.browser.window_position)
98 active_tab = self.browser.window.tab_position 96 active_tab = self.browser.window.tab_position
99 if active_tab >= tab_count: 97 if active_tab >= tab_count:
100 self.Error('active tab out of bounds: count: %d expected active: %d' % ( 98 self.Error('active tab out of bounds: count: %d expected active: %d' % (
101 (tab_count, active_tab))) 99 (tab_count, active_tab)))
102 return window.GetTab(self.browser.window.tab_position) 100 return {'tab_index': self.browser.window.tab_position,
101 'windex': self.browser.window_position, }
103 102
104 def _RunInActiveWindow(self, command): 103 def _RunInActiveWindow(self, command):
105 active_window = self.browser.window_position 104 active_window = self.browser.window_position
106 self.RunCommand(command, active_window) 105 self.RunCommand(command, active_window)
107 106
108 def _RunAsyncInActiveWindow(self, command): 107 def _RunAsyncInActiveWindow(self, command):
109 active_window = self.browser.window_position 108 active_window = self.browser.window_position
110 self.ApplyAccelerator(command, active_window) 109 self.ApplyAccelerator(command, active_window)
111 110
112 def _Zoom(self, command): 111 def _Zoom(self, command):
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 while nav_result != 1: 179 while nav_result != 1:
181 if retries == 1: 180 if retries == 1:
182 break 181 break
183 if retries == 1: 182 if retries == 1:
184 sys.stdout.write('retry ') 183 sys.stdout.write('retry ')
185 if retries > 0: 184 if retries > 0:
186 time.sleep(.1) 185 time.sleep(.1)
187 sys.stdout.write('%d, ' % retries) 186 sys.stdout.write('%d, ' % retries)
188 if a == 'navigate': 187 if a == 'navigate':
189 target = pyauto.GURL(action.split(';')[1]) 188 target = pyauto.GURL(action.split(';')[1])
190 nav_result = tab.NavigateToURL(target) 189 nav_result = self.NavigateToURL(target, **tab)
191 elif a == 'back': 190 elif a == 'back':
192 self.browser.Back() 191 self.browser.Back()
193 self.browser.Forward() 192 self.browser.Forward()
194 nav_result = tab.GoBack() 193 nav_result = self.TabGoBack(**tab)
195 elif a == 'forward': 194 elif a == 'forward':
196 self.browser.Forward() 195 self.browser.Forward()
197 self.browser.Back() 196 self.browser.Back()
198 nav_result = tab.GoForward() 197 nav_result = self.TabGoForward(**tab)
199 retries += 1 198 retries += 1
200 if a == 'closetab': 199 if a == 'closetab':
201 tab = self._GrabTab() 200 tab = self._GrabTab()
202 ui_model.UpdateState(self.browser, action) 201 ui_model.UpdateState(self.browser, action)
203 active_window = self.browser.window_position 202 active_window = self.browser.window_position
204 window_count = self.browser.num_windows 203 window_count = self.browser.num_windows
205 tab_count = self.browser.window.num_tabs 204 tab_count = self.browser.window.num_tabs
206 def WindowCount(): 205 def WindowCount():
207 actual = self.GetBrowserWindowCount() 206 actual = self.GetBrowserWindowCount()
208 result = actual == window_count 207 result = actual == window_count
209 return (result, 'WindowCount (expected %d, actual %d)' % 208 return (result, 'WindowCount (expected %d, actual %d)' %
210 (window_count, actual)) 209 (window_count, actual))
211 def TabCount(): 210 def TabCount():
212 actual = self.GetTabCount(active_window) 211 actual = self.GetTabCount(active_window)
213 result = actual == tab_count 212 result = actual == tab_count
214 return (result, 'TabCount (expected %d, actual %d)' % 213 return (result, 'TabCount (expected %d, actual %d)' %
215 (tab_count, actual)) 214 (tab_count, actual))
216 tab.Close(True) 215 self.CloseTab(**tab)
217 self._WaitFor(WindowCount) 216 self._WaitFor(WindowCount)
218 self._WaitFor(TabCount) 217 self._WaitFor(TabCount)
219 return False 218 return False
220 if a == 'closewindow': 219 if a == 'closewindow':
221 window_count = self.browser.num_windows - 1 220 window_count = self.browser.num_windows - 1
222 def WindowCount(): 221 def WindowCount():
223 result = self.GetBrowserWindowCount() == window_count 222 result = self.GetBrowserWindowCount() == window_count
224 return (result, 'WindowCount (expected %d)' % window_count) 223 return (result, 'WindowCount (expected %d)' % window_count)
225 self._RunInActiveWindow(pyauto.IDC_CLOSE_WINDOW) 224 self._RunInActiveWindow(pyauto.IDC_CLOSE_WINDOW)
226 self._WaitFor(WindowCount) 225 self._WaitFor(WindowCount)
227 if a == 'dragtabout': 226 if a == 'dragtabout':
228 return False 227 return False
229 if a == 'dragtableft': 228 if a == 'dragtableft':
230 self._RunAsyncInActiveWindow(pyauto.IDC_MOVE_TAB_PREVIOUS) 229 self._RunAsyncInActiveWindow(pyauto.IDC_MOVE_TAB_PREVIOUS)
231 if a == 'dragtabright': 230 if a == 'dragtabright':
232 self._RunAsyncInActiveWindow(pyauto.IDC_MOVE_TAB_NEXT) 231 self._RunAsyncInActiveWindow(pyauto.IDC_MOVE_TAB_NEXT)
233 if a == 'lasttab': 232 if a == 'lasttab':
234 self._RunAsyncInActiveWindow(pyauto.IDC_SELECT_PREVIOUS_TAB) 233 self._RunAsyncInActiveWindow(pyauto.IDC_SELECT_PREVIOUS_TAB)
235 if a == 'nexttab': 234 if a == 'nexttab':
236 self._RunAsyncInActiveWindow(pyauto.IDC_SELECT_NEXT_TAB) 235 self._RunAsyncInActiveWindow(pyauto.IDC_SELECT_NEXT_TAB)
237 if a == 'restoretab': 236 if a == 'restoretab':
238 active_window = self.browser.window_position 237 active_window = self.browser.window_position
239 self.ApplyAccelerator(pyauto.IDC_RESTORE_TAB, active_window) 238 self.ApplyAccelerator(pyauto.IDC_RESTORE_TAB, active_window)
240 self._GrabTab().WaitForTabToBeRestored(self.action_max_timeout_ms()) 239 self.WaitForTabToBeRestored(**self._GrabTab())
241 ui_model.UpdateState(self.browser, action) 240 ui_model.UpdateState(self.browser, action)
242 return False 241 return False
243 return True 242 return True
244 243
245 244
246 if __name__ == '__main__': 245 if __name__ == '__main__':
247 pyauto_functional.Main() 246 pyauto_functional.Main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698