Chromium Code Reviews| Index: tools/perf/page_sets/system_health/background_stories.py |
| diff --git a/tools/perf/page_sets/system_health/background_stories.py b/tools/perf/page_sets/system_health/background_stories.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..39eb3aca0265e347da89c5d7685cc0d19eeab5f8 |
| --- /dev/null |
| +++ b/tools/perf/page_sets/system_health/background_stories.py |
| @@ -0,0 +1,78 @@ |
| +# Copyright 2016 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 page_sets.system_health import platforms |
| +from page_sets.system_health import system_health_story |
| +from page_sets.system_health.loading_stories import LoadGmailMobileStory |
| + |
| +class _BackgroundStory(system_health_story.SystemHealthStory): |
| + """Abstract base class for background stories |
| + |
| + As in _LoadingStory except it puts the browser into the |
| + background before measuring. |
| + """ |
| + ABSTRACT_STORY = True |
| + SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY |
| + |
| + def _Measure(self, action_runner): |
| + action_runner.tab.browser.Background() |
| + super(_BackgroundStory, self)._Measure(action_runner) |
| + |
| + |
| +class BackgroundGoogleStory(_BackgroundStory): |
| + NAME = 'background:search:google' |
| + URL = 'https://www.google.co.uk/#q=tom+cruise+movies' |
| + |
| + def _DidLoadDocument(self, action_runner): |
| + # Activte the immersive movie browsing experience |
| + action_runner.WaitForJavaScriptCondition( |
| + 'document.querySelector("g-fab") !== null') |
| + action_runner.ExecuteJavaScript( |
| + 'document.querySelector("g-fab").click()') |
| + |
| + |
| +class BackgroundFacebookMobileStory(_BackgroundStory): |
| + NAME = 'background:social:facebook' |
| + URL = 'https://www.facebook.com/rihanna' |
| + SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY |
| + |
| + |
| +class BackgroundNytimesMobileStory(_BackgroundStory): |
| + """The third top website in http://www.alexa.com/topsites/category/News""" |
| + NAME = 'background:news:nytimes' |
| + URL = 'http://www.nytimes.com/2016/10/04/us/politics/vice-presidential-debate.html?_r=0' |
| + SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY |
| + |
| + def _DidLoadDocument(self, action_runner): |
| + action_runner.WaitForJavaScriptCondition( |
| + 'document.querySelector("#additional-content button") !== null') |
| + action_runner.ExecuteJavaScript( |
| + 'document.querySelector("#additional-content button").click()') |
| + |
| + action_runner.WaitForJavaScriptCondition( |
| + 'document.querySelector(".nytd-player-poster") !== null') |
| + action_runner.ExecuteJavaScript( |
| + 'document.querySelector(".nytd-player-poster").scrollIntoView();') |
|
nednguyen
2016/10/08 14:30:13
Instead of doing this, can you use action_runner.S
|
| + action_runner.ExecuteJavaScript( |
| + 'document.querySelector(".nytd-player-poster").click();') |
| + |
| + |
| +class BackgroundImgurMobileStory(_BackgroundStory): |
| + NAME = 'background:media:imgur' |
| + URL = 'http://imgur.com/gallery/hUita' |
| + SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY |
| + |
| + |
| +class BackgroundGmailMobileStory(LoadGmailMobileStory): |
| + NAME = 'background:tools:gmail' |
| + SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY |
| + |
| + def _Measure(self, action_runner): |
| + action_runner.tab.browser.Background() |
| + super(BackgroundGmailMobileStory, self)._Measure(action_runner) |
| + |
| + def _DidLoadDocument(self, action_runner): |
| + # The hacks in LoadGmailMobileStory _DidLoadDocument no longer apply. |
| + pass |
| + |