Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Unified Diff: tools/perf/page_sets/system_health/media_stories.py

Issue 2787103003: Add System health stories for Emerging market (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/perf/page_sets/system_health/media_stories.py
diff --git a/tools/perf/page_sets/system_health/media_stories.py b/tools/perf/page_sets/system_health/media_stories.py
index ad079e8d4b515282fcec217d1b9a326dc0bcc3a8..f8f907f5f560a85274d42a90853115e94a95c65c 100644
--- a/tools/perf/page_sets/system_health/media_stories.py
+++ b/tools/perf/page_sets/system_health/media_stories.py
@@ -114,3 +114,38 @@ class PandoraDesktopStory(_MediaStory):
def _NavigateToMedia(self, action_runner):
pass # Audio autoplays on Pandora, no need to search.
+
+
+class YoutubeMobileStory(_MediaStory):
+ NAME = 'play:media:youtube'
+ URL = 'https://m.youtube.in/watch?v=OnhXkCPMeMc'
+
+ PLAYER_FUNCTION = 'document.getElementById("player")'
+ STOP_FUNCTION = 'document.getElementsByTagName("video")[0].pause()'
+ TIME_FUNCTION = 'document.getElementsByTagName("video")[0].currentTime'
+
+ def RunPageInteractions(self, action_runner):
+ platform = action_runner.tab.browser.platform
+ package = action_runner.tab.browser.GetBrowserInfo().package_name
+ action_runner.WaitForElement(element_function=self.PLAYER_FUNCTION)
+
+ # Simulate user click in system ui since youtube play can be initialied only
+ # by user gesture.
+ renderer_view = package+':id/compositor_view_holder'
+ platform.system_ui.WaitForUiNode(resource_id=renderer_view)
+ content_view = platform.system_ui.GetUiNode(resource_id=renderer_view)
+ # Click on the top half of the renderer view to start video.
+ shifted_center = 0.5 * (
+ content_view.bounds.center + content_view.bounds.top_left)
+ content_view.Tap(point=shifted_center)
+
+ self._WaitForPlayTime(action_runner)
+ action_runner.EvaluateJavaScript(self.STOP_FUNCTION)
+
+ def _GetTimeInSeconds(self, action_runner):
+ return int(action_runner.EvaluateJavaScript(self.TIME_FUNCTION))
+
+ def _NavigateToMedia(self, action_runner):
+ pass # Audio autoplays on Pandora, no need to search.
+
+ SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY

Powered by Google App Engine
This is Rietveld 408576698