OLD | NEW |
(Empty) | |
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. |
| 4 from telemetry.page import page as page_module |
| 5 from telemetry.page import shared_page_state |
| 6 from telemetry import story |
| 7 |
| 8 from page_sets import key_mobile_sites_pages |
| 9 from page_sets.login_helpers import google_login |
| 10 |
| 11 |
| 12 class BlinkMemoryMobilePage(page_module.Page): |
| 13 def __init__(self, url, page_set, name): |
| 14 super(BlinkMemoryMobilePage, self).__init__( |
| 15 url=url, page_set=page_set, name=name, |
| 16 shared_page_state_class=shared_page_state.SharedMobilePageState, |
| 17 credentials_path='data/credentials.json') |
| 18 self.arcive_data_file = 'data/blink_memory_mobile.json' |
| 19 |
| 20 def RunPageInteractions(self, action_runner): |
| 21 action_runner.ScrollPage() |
| 22 |
| 23 |
| 24 class TheVergePage(BlinkMemoryMobilePage): |
| 25 def __init__(self, page_set): |
| 26 super(TheVergePage, self).__init__( |
| 27 # pylint: disable=C0301 |
| 28 url='http://www.theverge.com/2015/8/11/9133883/taylor-swift-spotify-discov
er-weekly-what-is-going-on', |
| 29 page_set=page_set, |
| 30 name='TheVerge') |
| 31 |
| 32 def RunPageInteractions(self, action_runner): |
| 33 comment_link_selector = '.show_comments_link' |
| 34 action_runner.WaitForElement(selector=comment_link_selector) |
| 35 action_runner.ExecuteJavaScript( |
| 36 'window.location.hash = "comments"') |
| 37 action_runner.TapElement(selector=comment_link_selector) |
| 38 action_runner.WaitForJavaScriptCondition( |
| 39 'window.Chorus.Comments.collection.length > 0') |
| 40 |
| 41 |
| 42 class GmailPage(BlinkMemoryMobilePage): |
| 43 def __init__(self, page_set): |
| 44 super(GmailPage, self).__init__( |
| 45 url='https://mail.google.com/mail/', |
| 46 page_set=page_set, |
| 47 name='Gmail') |
| 48 |
| 49 def RunNavigateSteps(self, action_runner): |
| 50 google_login.LoginGoogleAccount(action_runner, 'google', |
| 51 self.credentials_path) |
| 52 super(GmailPage, self).RunNavigateSteps(action_runner) |
| 53 action_runner.WaitForNavigate() |
| 54 action_runner.WaitForElement(selector='#nav') |
| 55 |
| 56 |
| 57 class BlinkMemoryMobilePageSet(story.StorySet): |
| 58 """Key mobile sites for Blink memory reduction.""" |
| 59 |
| 60 def __init__(self): |
| 61 super(BlinkMemoryMobilePageSet, self).__init__( |
| 62 archive_data_file='data/blink_memory_mobile.json', |
| 63 cloud_storage_bucket=story.PARTNER_BUCKET) |
| 64 |
| 65 # Why: High rate of Blink's memory consumption rate. |
| 66 self.AddStory(BlinkMemoryMobilePage( |
| 67 url='https://www.pinterest.com', |
| 68 page_set=self, |
| 69 name='Pinterest')) |
| 70 self.AddStory(key_mobile_sites_pages.FacebookPage(self)) |
| 71 # TODO(bashi): Enable TheVergePage. http://crbug.com/522381 |
| 72 # self.AddStory(TheVergePage(self)) |
| 73 |
| 74 # Why: High rate of Blink's memory comsumption rate on low-RAM devices. |
| 75 self.AddStory(BlinkMemoryMobilePage( |
| 76 url='http://en.m.wikipedia.org/wiki/Wikipedia', |
| 77 page_set=self, |
| 78 name='Wikipedia (1 tab) - delayed scroll start',)) |
| 79 self.AddStory(BlinkMemoryMobilePage( |
| 80 url='http://www.reddit.com/r/programming/comments/1g96ve', |
| 81 page_set=self, |
| 82 name='Reddit')) |
| 83 self.AddStory(BlinkMemoryMobilePage( |
| 84 # pylint: disable=line-too-long |
| 85 url='https://en.blog.wordpress.com/2012/09/04/freshly-pressed-editors-pick
s-for-august-2012/', |
| 86 page_set=self, |
| 87 name='Wordpress')) |
| 88 |
| 89 # Why: Renderer memory usage is high. |
| 90 self.AddStory(BlinkMemoryMobilePage( |
| 91 url='http://worldjournal.com/', |
| 92 page_set=self, |
| 93 name='Worldjournal')) |
| 94 |
| 95 # Why: Key products. |
| 96 self.AddStory(BlinkMemoryMobilePage( |
| 97 # pylint: disable=line-too-long |
| 98 url='https://plus.google.com/app/basic/110031535020051778989/posts?source=
apppromo', |
| 99 page_set=self, |
| 100 name='GooglePlus')) |
| 101 self.AddStory(GmailPage(page_set=self)) |
| 102 self.AddStory(BlinkMemoryMobilePage( |
| 103 # pylint: disable=line-too-long |
| 104 url='http://googlewebmastercentral.blogspot.com/2015/04/rolling-out-mobile
-friendly-update.html?m=1', |
| 105 page_set=self, |
| 106 name='Blogger')) |
| 107 |
| 108 class BlinkMemoryTestPageSet(story.StorySet): |
| 109 """Key mobile sites for Blink memory reduction.""" |
| 110 |
| 111 def __init__(self): |
| 112 super(BlinkMemoryTestPageSet, self).__init__( |
| 113 archive_data_file='data/blink_memory_test.json', |
| 114 cloud_storage_bucket=story.PARTNER_BUCKET) |
| 115 |
| 116 self.AddStory(TheVergePage(self)) |
OLD | NEW |