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

Unified Diff: tools/chrome_remote_control/chrome_remote_control/page_interaction.py

Issue 11369075: Chrome remote control multipage tests: Add interactions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: code review & tests Created 8 years, 1 month 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
Index: tools/chrome_remote_control/chrome_remote_control/page_interaction.py
diff --git a/tools/perf/perf_tools/robohornetpro.py b/tools/chrome_remote_control/chrome_remote_control/page_interaction.py
similarity index 20%
copy from tools/perf/perf_tools/robohornetpro.py
copy to tools/chrome_remote_control/chrome_remote_control/page_interaction.py
index ab06aced934dcd068ca01c682d15616c62d74dd8..05b387090ba26117dd861f8c68f083782490253e 100644
--- a/tools/perf/perf_tools/robohornetpro.py
+++ b/tools/chrome_remote_control/chrome_remote_control/page_interaction.py
@@ -2,21 +2,35 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-from chrome_remote_control import multi_page_benchmark
-from chrome_remote_control import util
+class PageInteractionNotSupported(Exception):
+ pass
+
+class PageInteractionFailed(Exception):
+ pass
+
+class PageInteraction(object):
+ """Represents an interaction that a user might try to perform to a page."""
-class RobohornetPro(multi_page_benchmark.MultiPageBenchmark):
def CustomizeBrowserOptions(self, options):
- # Benchmark require use of real Date.now() for measurement.
- options.wpr_make_javascript_deterministic = False
+ """Override to add test-specific options to the BrowserOptions object"""
+ pass
+
+ def SupportedForPage(self, page, tab):
+ raise NotImplementedError()
+
+ def PerformInteraction(self, page, tab):
+ raise NotImplementedError()
+
+ def CleanUp(self, page, tab):
+ raise NotImplementedError()
- def MeasurePage(self, _, tab, results):
- tab.runtime.Execute('ToggleRoboHornet()')
+_page_interaction_classes = {}
+def GetAllClasses():
+ return list(_page_interaction_classes.values())
- done = 'document.getElementById("results").innerHTML.indexOf("Total") != -1'
- def _IsDone():
- return tab.runtime.Evaluate(done)
- util.WaitFor(_IsDone, 60)
+def FindClassWithName(name):
+ return _page_interaction_classes.get(name)
- result = int(tab.runtime.Evaluate('stopTime - startTime'))
- results.Add('Total', 'ms', result)
+def RegisterClass(name, interaction_class):
+ assert name not in _page_interaction_classes
+ _page_interaction_classes[name] = interaction_class

Powered by Google App Engine
This is Rietveld 408576698