Index: tools/perf/page_sets/top_10.py |
diff --git a/tools/perf/page_sets/top_10.py b/tools/perf/page_sets/top_10.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..314fe6ecbfeb3fb6f14c5aa619b5e3826d8af7d2 |
--- /dev/null |
+++ b/tools/perf/page_sets/top_10.py |
@@ -0,0 +1,61 @@ |
+# Copyright 2014 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+from telemetry.page.actions.javascript import JavascriptAction |
+from telemetry.page.actions.navigate import NavigateAction |
+from telemetry.page.actions.scroll import ScrollAction |
+from telemetry.page.actions.wait import WaitAction |
+from telemetry.page.python_page_set import PythonPageSet |
+from telemetry.page.page import Page |
+ |
+class ScrollPage(Page): |
+ def __init__(self, url='', navigate_steps=None, credentials=''): |
+ super(ScrollPage, self).__init__(url, '') |
+ if not navigate_steps: |
+ self._navigate_steps = [] |
+ else: |
+ self._navigate_steps = navigate_steps |
+ |
+ @property |
+ def navigate_steps(): |
+ return self._navigate_steps |
+ |
+ @property |
+ def smoothness(): |
+ return [ScrollAction()] |
+ |
+class Top10(PythonPageSet): |
+ def __init__(self): |
+ super(Top10, self).__init__( |
+ description='10 Pages chosen from Alexa top sites', |
+ archive_data_file='data/top_10.json', |
+ credentials_path='data/credentials.json', |
+ user_agent_type='desktop') |
+ |
+ self.AddPages( |
+ #top google property; a google tab is often open |
nduca
2014/02/27 18:26:57
from our chat
class Top10(PageSet):
def __init_
nednguyen
2014/02/27 19:49:33
Done.
|
+ ScrollPage(url='https://www.google.com/#hl=en&q=barack+obama', |
+ navigate_steps=[ |
+ NavigateAction(), |
+ WaitAction().UntilTextElementAvailable(text='Next')]), |
+ #productivity, top google properties |
+ ScrollPage(url='https://mail.google.com/mail/', |
+ navigate_steps=[ |
+ NavigateAction(), |
+ WaitAction.UntilTrue( |
+ expression='''window.gmonkey !== undefined && |
+document.getElementById('gb') !== null''')]), |
+ #productivity, top google properties |
+ ScrollPage(url='https://google.com/calendar/', |
+ navigate_steps=[ |
+ NavigateAction(), |
+ JavascriptAction().OfExpression( |
+ '''(function() { var elem = document.createElement("meta"); |
+ elem.name="viewport"; |
+ elem.content="initial-scale=1"; |
+ document.body.appendChild(elem); })();'''), |
+ WaitAction().ForSeconds(2), |
+ WaitAction().UntilSelectorElementAvailable( |
+ selector='div[class~="navForward"]')], |
+ credentials='google')) |