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

Side by Side Diff: tools/telemetry/telemetry/page/page_test.py

Issue 177093013: Move the setting of test options to WillRunTest (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 import logging 4 import logging
5 5
6 from telemetry.page import test_expectations 6 from telemetry.page import test_expectations
7 from telemetry.page.actions import all_page_actions 7 from telemetry.page.actions import all_page_actions
8 from telemetry.page.actions import interact 8 from telemetry.page.actions import interact
9 from telemetry.page.actions import navigate 9 from telemetry.page.actions import navigate
10 from telemetry.page.actions import page_action 10 from telemetry.page.actions import page_action
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 pass 188 pass
189 189
190 def DidStartBrowser(self, browser): 190 def DidStartBrowser(self, browser):
191 """Override to customize the browser right after it has launched.""" 191 """Override to customize the browser right after it has launched."""
192 pass 192 pass
193 193
194 def CanRunForPage(self, page): # pylint: disable=W0613 194 def CanRunForPage(self, page): # pylint: disable=W0613
195 """Override to customize if the test can be ran for the given page.""" 195 """Override to customize if the test can be ran for the given page."""
196 return True 196 return True
197 197
198 def WillRunTest(self): 198 def WillRunTest(self, options):
199 """Override to do operations before the page set(s) are navigated.""" 199 """Override to do operations before the page set(s) are navigated."""
200 pass 200 self.options = options
201 201
202 def DidRunTest(self, browser, results): 202 def DidRunTest(self, browser, results): # pylint: disable=W0613
203 """Override to do operations after all page set(s) are completed. 203 """Override to do operations after all page set(s) are completed.
204 204
205 This will occur before the browser is torn down. 205 This will occur before the browser is torn down.
206 """ 206 """
207 pass 207 self.options = None
208 208
209 def WillRunPageRepeats(self, page): 209 def WillRunPageRepeats(self, page):
210 """Override to do operations before each page is iterated over.""" 210 """Override to do operations before each page is iterated over."""
211 pass 211 pass
212 212
213 def DidRunPageRepeats(self, page): 213 def DidRunPageRepeats(self, page):
214 """Override to do operations after each page is iterated over.""" 214 """Override to do operations after each page is iterated over."""
215 pass 215 pass
216 216
217 def DidStartHTTPServer(self, tab): 217 def DidStartHTTPServer(self, tab):
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 def TabForPage(self, page, browser): # pylint: disable=W0613 260 def TabForPage(self, page, browser): # pylint: disable=W0613
261 """Override to select a different tab for the page. For instance, to 261 """Override to select a different tab for the page. For instance, to
262 create a new tab for every page, return browser.tabs.New().""" 262 create a new tab for every page, return browser.tabs.New()."""
263 return browser.tabs[0] 263 return browser.tabs[0]
264 264
265 def ValidatePageSet(self, page_set): 265 def ValidatePageSet(self, page_set):
266 """Override to examine the page set before the test run. Useful for 266 """Override to examine the page set before the test run. Useful for
267 example to validate that the pageset can be used with the test.""" 267 example to validate that the pageset can be used with the test."""
268 pass 268 pass
269 269
270 def Run(self, options, page, tab, results): 270 def Run(self, page, tab, results):
271 self.options = options 271 interactive = self.options and self.options.interactive
272 interactive = options and options.interactive
273 compound_action = GetCompoundActionFromPage( 272 compound_action = GetCompoundActionFromPage(
274 page, self._action_name_to_run, interactive) 273 page, self._action_name_to_run, interactive)
275 self.WillRunActions(page, tab) 274 self.WillRunActions(page, tab)
276 self._RunCompoundAction(page, tab, compound_action) 275 self._RunCompoundAction(page, tab, compound_action)
277 self.DidRunActions(page, tab) 276 self.DidRunActions(page, tab)
278 try: 277 self._test_method(page, tab, results)
279 self._test_method(page, tab, results)
280 finally:
281 self.options = None
282 278
283 def _RunCompoundAction(self, page, tab, actions, run_setup_methods=True): 279 def _RunCompoundAction(self, page, tab, actions, run_setup_methods=True):
284 for i, action in enumerate(actions): 280 for i, action in enumerate(actions):
285 prev_action = actions[i - 1] if i > 0 else None 281 prev_action = actions[i - 1] if i > 0 else None
286 next_action = actions[i + 1] if i < len(actions) - 1 else None 282 next_action = actions[i + 1] if i < len(actions) - 1 else None
287 283
288 if (action.RunsPreviousAction() and 284 if (action.RunsPreviousAction() and
289 next_action and next_action.RunsPreviousAction()): 285 next_action and next_action.RunsPreviousAction()):
290 raise page_action.PageActionFailed('Consecutive actions cannot both ' 286 raise page_action.PageActionFailed('Consecutive actions cannot both '
291 'have RunsPreviousAction() == True.') 287 'have RunsPreviousAction() == True.')
(...skipping 28 matching lines...) Expand all
320 316
321 def IsExiting(self): 317 def IsExiting(self):
322 return self._exit_requested 318 return self._exit_requested
323 319
324 def RequestExit(self): 320 def RequestExit(self):
325 self._exit_requested = True 321 self._exit_requested = True
326 322
327 @property 323 @property
328 def action_name_to_run(self): 324 def action_name_to_run(self):
329 return self._action_name_to_run 325 return self._action_name_to_run
OLDNEW
« no previous file with comments | « tools/telemetry/telemetry/page/page_runner.py ('k') | tools/telemetry/telemetry/page/page_test_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698