| 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 cache_temperature as cache_temperature_module |
| 4 from telemetry.page import page as page_module | 5 from telemetry.page import page as page_module |
| 5 from telemetry.page import shared_page_state | 6 from telemetry.page import shared_page_state |
| 6 from telemetry import story | 7 from telemetry import story |
| 7 | 8 |
| 8 | 9 |
| 9 URL_LIST = [ | 10 URL_LIST = [ |
| 10 # Why: #1 (Alexa) most visited page worldwide, picked a reasonable | 11 # Why: #1 (Alexa) most visited page worldwide, picked a reasonable |
| 11 # search term | 12 # search term |
| 12 'https://www.google.co.uk/#hl=en&q=science', | 13 'https://www.google.co.uk/#hl=en&q=science', |
| 13 # Why: #2 (Alexa) most visited page worldwide, picked the most liked | 14 # Why: #2 (Alexa) most visited page worldwide, picked the most liked |
| (...skipping 21 matching lines...) Expand all Loading... |
| 35 'http://m.intl.taobao.com/group-purchase.html', | 36 'http://m.intl.taobao.com/group-purchase.html', |
| 36 # Why: #18 (Alexa) most visited page worldwide, picked a reasonable | 37 # Why: #18 (Alexa) most visited page worldwide, picked a reasonable |
| 37 # search term | 38 # search term |
| 38 'http://yandex.ru/touchsearch?text=science', | 39 'http://yandex.ru/touchsearch?text=science', |
| 39 ] | 40 ] |
| 40 | 41 |
| 41 | 42 |
| 42 class Top10MobilePage(page_module.Page): | 43 class Top10MobilePage(page_module.Page): |
| 43 | 44 |
| 44 def __init__(self, url, page_set, run_no_page_interactions, | 45 def __init__(self, url, page_set, run_no_page_interactions, |
| 45 collect_memory_dumps): | 46 collect_memory_dumps, cache_temperature=None): |
| 46 super(Top10MobilePage, self).__init__( | 47 super(Top10MobilePage, self).__init__( |
| 47 url=url, page_set=page_set, credentials_path = 'data/credentials.json', | 48 url=url, page_set=page_set, credentials_path = 'data/credentials.json', |
| 48 shared_page_state_class=shared_page_state.SharedMobilePageState) | 49 shared_page_state_class=shared_page_state.SharedMobilePageState, |
| 50 cache_temperature=cache_temperature) |
| 49 self.archive_data_file = 'data/top_10_mobile.json' | 51 self.archive_data_file = 'data/top_10_mobile.json' |
| 50 self._run_no_page_interactions = run_no_page_interactions | 52 self._run_no_page_interactions = run_no_page_interactions |
| 51 self._collect_memory_dumps = collect_memory_dumps | 53 self._collect_memory_dumps = collect_memory_dumps |
| 52 | 54 |
| 53 def RunPageInteractions(self, action_runner): | 55 def RunPageInteractions(self, action_runner): |
| 54 if self._collect_memory_dumps: | 56 if self._collect_memory_dumps: |
| 55 action_runner.tab.browser.DumpMemory() | 57 action_runner.tab.browser.DumpMemory() |
| 56 if self._run_no_page_interactions: | 58 if self._run_no_page_interactions: |
| 57 return | 59 return |
| 58 with action_runner.CreateGestureInteraction('ScrollAction'): | 60 with action_runner.CreateGestureInteraction('ScrollAction'): |
| 59 action_runner.ScrollPage() | 61 action_runner.ScrollPage() |
| 60 if self._collect_memory_dumps: | 62 if self._collect_memory_dumps: |
| 61 action_runner.tab.browser.DumpMemory() | 63 action_runner.tab.browser.DumpMemory() |
| 62 | 64 |
| 63 | 65 |
| 64 class _Top10MobilePageSet(story.StorySet): | 66 class _Top10MobilePageSet(story.StorySet): |
| 65 """ Base class for Top 10 mobile sites """ | 67 """ Base class for Top 10 mobile sites """ |
| 66 | 68 |
| 67 def __init__(self, run_no_page_interactions=False, | 69 def __init__(self, run_no_page_interactions=False, |
| 68 collect_memory_dumps=False): | 70 collect_memory_dumps=False, cache_temperatures=None): |
| 69 super(_Top10MobilePageSet, self).__init__( | 71 super(_Top10MobilePageSet, self).__init__( |
| 70 archive_data_file='data/top_10_mobile.json', | 72 archive_data_file='data/top_10_mobile.json', |
| 71 cloud_storage_bucket=story.PARTNER_BUCKET) | 73 cloud_storage_bucket=story.PARTNER_BUCKET) |
| 74 if cache_temperatures is None: |
| 75 cache_temperatures = [cache_temperature_module.ANY] |
| 72 | 76 |
| 73 for url in URL_LIST: | 77 for url in URL_LIST: |
| 74 self.AddStory(Top10MobilePage(url, self, run_no_page_interactions, | 78 for temp in cache_temperatures: |
| 75 collect_memory_dumps)) | 79 self.AddStory(Top10MobilePage(url, self, run_no_page_interactions, |
| 80 collect_memory_dumps, cache_temperature=temp)) |
| 76 | 81 |
| 77 | 82 |
| 78 class Top10MobilePageSet(_Top10MobilePageSet): | 83 class Top10MobilePageSet(_Top10MobilePageSet): |
| 79 """ Top 10 mobile sites """ | 84 """ Top 10 mobile sites """ |
| 80 | 85 |
| 81 def __init__(self, run_no_page_interactions=False): | 86 def __init__(self, run_no_page_interactions=False, cache_temperatures=None): |
| 82 super(Top10MobilePageSet, self).__init__(run_no_page_interactions) | 87 super(Top10MobilePageSet, self).__init__(run_no_page_interactions, |
| 88 cache_temperatures=cache_temperatures) |
| 83 | 89 |
| 84 | 90 |
| 85 class Top10MobileMemoryPageSet(_Top10MobilePageSet): | 91 class Top10MobileMemoryPageSet(_Top10MobilePageSet): |
| 86 """ Top 10 mobile sites for measuring memory""" | 92 """ Top 10 mobile sites for measuring memory""" |
| 87 | 93 |
| 88 def __init__(self): | 94 def __init__(self): |
| 89 super(Top10MobileMemoryPageSet, self).__init__( | 95 super(Top10MobileMemoryPageSet, self).__init__( |
| 90 run_no_page_interactions=False, collect_memory_dumps=True) | 96 run_no_page_interactions=False, collect_memory_dumps=True) |
| 91 | 97 |
| OLD | NEW |