| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 from telemetry.page import page as page_module | 4 from telemetry.page import page as page_module |
| 5 from telemetry.page import shared_page_state | 5 from telemetry.page import shared_page_state |
| 6 from telemetry import story | 6 from telemetry import story |
| 7 | 7 |
| 8 | 8 |
| 9 def _GetCurrentLocation(action_runner): | 9 def _GetCurrentLocation(action_runner): |
| 10 return action_runner.EvaluateJavaScript2('document.location.href') | 10 return action_runner.EvaluateJavaScript('document.location.href') |
| 11 | 11 |
| 12 | 12 |
| 13 def _WaitForLocationChange(action_runner, old_href): | 13 def _WaitForLocationChange(action_runner, old_href): |
| 14 action_runner.WaitForJavaScriptCondition2( | 14 action_runner.WaitForJavaScriptCondition( |
| 15 'document.location.href != {{ old_href }}', old_href=old_href) | 15 'document.location.href != {{ old_href }}', old_href=old_href) |
| 16 | 16 |
| 17 | 17 |
| 18 class Top7StressPage(page_module.Page): | 18 class Top7StressPage(page_module.Page): |
| 19 | 19 |
| 20 def __init__(self, url, page_set, name=''): | 20 def __init__(self, url, page_set, name=''): |
| 21 super(Top7StressPage, self).__init__( | 21 super(Top7StressPage, self).__init__( |
| 22 url=url, page_set=page_set, name=name, | 22 url=url, page_set=page_set, name=name, |
| 23 shared_page_state_class=shared_page_state.SharedDesktopPageState, | 23 shared_page_state_class=shared_page_state.SharedDesktopPageState, |
| 24 credentials_path = 'data/credentials.json') | 24 credentials_path = 'data/credentials.json') |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 | 92 |
| 93 def __init__(self, page_set): | 93 def __init__(self, page_set): |
| 94 super(GmailPage, self).__init__( | 94 super(GmailPage, self).__init__( |
| 95 url='https://mail.google.com/mail/', | 95 url='https://mail.google.com/mail/', |
| 96 page_set=page_set) | 96 page_set=page_set) |
| 97 | 97 |
| 98 self.credentials = 'google' | 98 self.credentials = 'google' |
| 99 | 99 |
| 100 def RunNavigateSteps(self, action_runner): | 100 def RunNavigateSteps(self, action_runner): |
| 101 super(GmailPage, self).RunNavigateSteps(action_runner) | 101 super(GmailPage, self).RunNavigateSteps(action_runner) |
| 102 action_runner.WaitForJavaScriptCondition2( | 102 action_runner.WaitForJavaScriptCondition( |
| 103 'window.gmonkey !== undefined &&' | 103 'window.gmonkey !== undefined &&' |
| 104 'document.getElementById("gb") !== null') | 104 'document.getElementById("gb") !== null') |
| 105 | 105 |
| 106 def RunPageInteractions(self, action_runner): | 106 def RunPageInteractions(self, action_runner): |
| 107 old_href = _GetCurrentLocation(action_runner) | 107 old_href = _GetCurrentLocation(action_runner) |
| 108 action_runner.ClickElement( | 108 action_runner.ClickElement( |
| 109 'a[href="https://mail.google.com/mail/u/0/?shva=1#starred"]') | 109 'a[href="https://mail.google.com/mail/u/0/?shva=1#starred"]') |
| 110 _WaitForLocationChange(action_runner, old_href) | 110 _WaitForLocationChange(action_runner, old_href) |
| 111 old_href = _GetCurrentLocation(action_runner) | 111 old_href = _GetCurrentLocation(action_runner) |
| 112 action_runner.ClickElement( | 112 action_runner.ClickElement( |
| 113 'a[href="https://mail.google.com/mail/u/0/?shva=1#inbox"]') | 113 'a[href="https://mail.google.com/mail/u/0/?shva=1#inbox"]') |
| 114 _WaitForLocationChange(action_runner, old_href) | 114 _WaitForLocationChange(action_runner, old_href) |
| 115 | 115 |
| 116 | 116 |
| 117 class GoogleCalendarPage(Top7StressPage): | 117 class GoogleCalendarPage(Top7StressPage): |
| 118 | 118 |
| 119 """ Why: productivity, top google properties """ | 119 """ Why: productivity, top google properties """ |
| 120 | 120 |
| 121 def __init__(self, page_set): | 121 def __init__(self, page_set): |
| 122 super(GoogleCalendarPage, self).__init__( | 122 super(GoogleCalendarPage, self).__init__( |
| 123 url='https://www.google.com/calendar/', | 123 url='https://www.google.com/calendar/', |
| 124 page_set=page_set) | 124 page_set=page_set) |
| 125 | 125 |
| 126 self.credentials = 'google' | 126 self.credentials = 'google' |
| 127 | 127 |
| 128 def RunNavigateSteps(self, action_runner): | 128 def RunNavigateSteps(self, action_runner): |
| 129 super(GoogleCalendarPage, self).RunNavigateSteps(action_runner) | 129 super(GoogleCalendarPage, self).RunNavigateSteps(action_runner) |
| 130 action_runner.Wait(2) | 130 action_runner.Wait(2) |
| 131 action_runner.WaitForElement('div[class~="navForward"]') | 131 action_runner.WaitForElement('div[class~="navForward"]') |
| 132 action_runner.ExecuteJavaScript2(''' | 132 action_runner.ExecuteJavaScript(''' |
| 133 (function() { | 133 (function() { |
| 134 var elem = document.createElement('meta'); | 134 var elem = document.createElement('meta'); |
| 135 elem.name='viewport'; | 135 elem.name='viewport'; |
| 136 elem.content='initial-scale=1'; | 136 elem.content='initial-scale=1'; |
| 137 document.body.appendChild(elem); | 137 document.body.appendChild(elem); |
| 138 })();''') | 138 })();''') |
| 139 action_runner.Wait(1) | 139 action_runner.Wait(1) |
| 140 | 140 |
| 141 def RunPageInteractions(self, action_runner): | 141 def RunPageInteractions(self, action_runner): |
| 142 action_runner.ClickElement('div[class~="navForward"]') | 142 action_runner.ClickElement('div[class~="navForward"]') |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 self.credentials = 'facebook2' | 288 self.credentials = 'facebook2' |
| 289 | 289 |
| 290 def RunNavigateSteps(self, action_runner): | 290 def RunNavigateSteps(self, action_runner): |
| 291 super(FacebookPage, self).RunNavigateSteps(action_runner) | 291 super(FacebookPage, self).RunNavigateSteps(action_runner) |
| 292 action_runner.WaitForElement(text='About') | 292 action_runner.WaitForElement(text='About') |
| 293 | 293 |
| 294 def RunPageInteractions(self, action_runner): | 294 def RunPageInteractions(self, action_runner): |
| 295 # Scroll and wait for the next page to be loaded. | 295 # Scroll and wait for the next page to be loaded. |
| 296 with action_runner.CreateGestureInteraction('ScrollAction'): | 296 with action_runner.CreateGestureInteraction('ScrollAction'): |
| 297 action_runner.ScrollPage() | 297 action_runner.ScrollPage() |
| 298 action_runner.WaitForJavaScriptCondition2( | 298 action_runner.WaitForJavaScriptCondition( |
| 299 'document.documentElement.scrollHeight - window.innerHeight - ' | 299 'document.documentElement.scrollHeight - window.innerHeight - ' |
| 300 'window.pageYOffset > 0') | 300 'window.pageYOffset > 0') |
| 301 | 301 |
| 302 # Scroll and wait again. | 302 # Scroll and wait again. |
| 303 with action_runner.CreateGestureInteraction('ScrollAction'): | 303 with action_runner.CreateGestureInteraction('ScrollAction'): |
| 304 action_runner.ScrollPage() | 304 action_runner.ScrollPage() |
| 305 action_runner.WaitForJavaScriptCondition2( | 305 action_runner.WaitForJavaScriptCondition( |
| 306 'document.documentElement.scrollHeight - window.innerHeight - ' | 306 'document.documentElement.scrollHeight - window.innerHeight - ' |
| 307 'window.pageYOffset > 0') | 307 'window.pageYOffset > 0') |
| 308 | 308 |
| 309 class Top7StressPageSet(story.StorySet): | 309 class Top7StressPageSet(story.StorySet): |
| 310 | 310 |
| 311 """ Pages hand-picked for stress testing. """ | 311 """ Pages hand-picked for stress testing. """ |
| 312 | 312 |
| 313 def __init__(self): | 313 def __init__(self): |
| 314 super(Top7StressPageSet, self).__init__( | 314 super(Top7StressPageSet, self).__init__( |
| 315 archive_data_file='data/top_7_stress.json', | 315 archive_data_file='data/top_7_stress.json', |
| 316 cloud_storage_bucket=story.PARTNER_BUCKET) | 316 cloud_storage_bucket=story.PARTNER_BUCKET) |
| 317 | 317 |
| 318 self.AddStory(GoogleWebSearchPage(self)) | 318 self.AddStory(GoogleWebSearchPage(self)) |
| 319 self.AddStory(GmailPage(self)) | 319 self.AddStory(GmailPage(self)) |
| 320 self.AddStory(GoogleCalendarPage(self)) | 320 self.AddStory(GoogleCalendarPage(self)) |
| 321 self.AddStory(GooglePlusPage(self)) | 321 self.AddStory(GooglePlusPage(self)) |
| 322 self.AddStory(BlogspotPage(self)) | 322 self.AddStory(BlogspotPage(self)) |
| 323 self.AddStory(WordpressPage(self)) | 323 self.AddStory(WordpressPage(self)) |
| 324 self.AddStory(FacebookPage(self)) | 324 self.AddStory(FacebookPage(self)) |
| OLD | NEW |