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'): |