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

Unified Diff: tools/telemetry/telemetry/page/record_wpr.py

Issue 180873008: Add support for python pageset (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove attributes from page constructor 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/telemetry/telemetry/page/page_test_runner.py ('k') | tools/telemetry/unittest_data/test_page_set.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/telemetry/page/record_wpr.py
diff --git a/tools/telemetry/telemetry/page/record_wpr.py b/tools/telemetry/telemetry/page/record_wpr.py
index 62a2b3779c7b42605875623c83b63c0e9af3bc86..5696796e78724e30f6e8b5b2d21b0dbd17543041 100755
--- a/tools/telemetry/telemetry/page/record_wpr.py
+++ b/tools/telemetry/telemetry/page/record_wpr.py
@@ -22,6 +22,8 @@ from telemetry.page import page_set
from telemetry.page import page_test
from telemetry.page import profile_creator
from telemetry.page import test_expectations
+from telemetry.page.actions import action_runner as action_runner_module
+from telemetry.page.actions import interact
class RecordPage(page_test.PageTest):
@@ -38,12 +40,6 @@ class RecordPage(page_test.PageTest):
def CanRunForPage(self, page):
return page.url.startswith('http')
- def CustomizeBrowserOptionsForPageSet(self, pset, options):
- for page in pset:
- for compound_action in self._CompoundActionsForPage(page, options):
- for action in compound_action:
- action.CustomizeBrowserOptionsForPageSet(options)
-
def WillNavigateToPage(self, page, tab):
"""Override to ensure all resources are fetched from network."""
tab.ClearCache(force=False)
@@ -74,21 +70,18 @@ class RecordPage(page_test.PageTest):
# Run the actions for all measurements. Reload the page between
# actions.
should_reload = False
- for compound_action in self._CompoundActionsForPage(page, self.options):
- if should_reload:
- self.RunNavigateSteps(page, tab)
- self._RunCompoundAction(page, tab, compound_action)
- should_reload = True
-
- def _CompoundActionsForPage(self, page, options):
- actions = []
+ interactive = self.options and self.options.interactive
for action_name in self._action_names:
if not hasattr(page, action_name):
continue
- interactive = options and options.interactive
- actions.append(page_test.GetCompoundActionFromPage(
- page, action_name, interactive))
- return actions
+ if should_reload:
+ self.RunNavigateSteps(page, tab)
+ action_runner = action_runner_module.ActionRunner(page, tab, self)
+ if interactive:
+ action_runner.RunAction(interact.InteractAction())
+ else:
+ self._RunMethod(page, self._action_name_to_run, action_runner)
+ should_reload = True
def _CreatePageSetForUrl(url):
@@ -134,7 +127,7 @@ def Main(base_dir):
parser.parse_args()
recorder.test.ProcessCommandLineArgs(parser, options)
ps = tests[target]().CreatePageSet(options)
- elif target.endswith('.json'):
+ elif target.endswith('.json') or target.endswith('.py'):
parser.parse_args()
ps = page_set.PageSet.FromFile(target)
elif target.startswith('http'):
« no previous file with comments | « tools/telemetry/telemetry/page/page_test_runner.py ('k') | tools/telemetry/unittest_data/test_page_set.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698