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

Side by Side Diff: tools/perf/page_sets/system_health/media_stories.py

Issue 2618333006: [tools/perf] Fix JavaScript interpolation in action_runner calls (Closed)
Patch Set: fix a few more interpolations Created 3 years, 11 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 unified diff | Download patch
« no previous file with comments | « tools/perf/page_sets/system_health/loading_stories.py ('k') | tools/perf/page_sets/todomvc.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 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 4
5 from page_sets.system_health import platforms 5 from page_sets.system_health import platforms
6 from page_sets.system_health import system_health_story 6 from page_sets.system_health import system_health_story
7 7
8 from page_sets.login_helpers import google_login 8 from page_sets.login_helpers import google_login
9 from page_sets.login_helpers import pandora_login 9 from page_sets.login_helpers import pandora_login
10 10
(...skipping 17 matching lines...) Expand all
28 if self.PLAY_SELECTOR: 28 if self.PLAY_SELECTOR:
29 self._WaitForAndClickElementBySelector(action_runner, self.PLAY_SELECTOR) 29 self._WaitForAndClickElementBySelector(action_runner, self.PLAY_SELECTOR)
30 self._WaitForPlayTime(action_runner) 30 self._WaitForPlayTime(action_runner)
31 # Stop media. 31 # Stop media.
32 self._WaitForAndClickElementBySelector(action_runner, self.STOP_SELECTOR) 32 self._WaitForAndClickElementBySelector(action_runner, self.STOP_SELECTOR)
33 33
34 def _NavigateToMedia(self, action_runner): 34 def _NavigateToMedia(self, action_runner):
35 raise NotImplementedError 35 raise NotImplementedError
36 36
37 def _WaitForAndClickElementBySelector(self, action_runner, selector): 37 def _WaitForAndClickElementBySelector(self, action_runner, selector):
38 element_function = 'document.querySelector("%s")' % selector 38 action_runner.WaitForElement(selector=selector)
39 action_runner.WaitForElement(element_function=element_function) 39 action_runner.ClickElement(selector=selector)
40 action_runner.ClickElement(element_function=element_function)
41 40
42 def _WaitForPlayTime(self, action_runner): 41 def _WaitForPlayTime(self, action_runner):
43 action_runner.Wait(self.PLAY_DURATION) 42 action_runner.Wait(self.PLAY_DURATION)
44 while self._GetTimeInSeconds(action_runner) < self.PLAY_DURATION: 43 while self._GetTimeInSeconds(action_runner) < self.PLAY_DURATION:
45 action_runner.Wait( 44 action_runner.Wait(
46 self.PLAY_DURATION - self._GetTimeInSeconds(action_runner)) 45 self.PLAY_DURATION - self._GetTimeInSeconds(action_runner))
47 46
48 def _GetTimeInSeconds(self, action_runner): 47 def _GetTimeInSeconds(self, action_runner):
49 # TODO(catapult:#3028): Fix interpolation of JavaScript values. 48 minutes, seconds = action_runner.EvaluateJavaScript(
50 time_func = ( 49 'document.querySelector({{ selector }}).textContent',
51 'document.querySelector("%s").textContent' % self.TIME_SELECTOR) 50 selector=self.TIME_SELECTOR).split(':')
52 minutes, seconds = action_runner.EvaluateJavaScript(time_func).split(':')
53 return int(minutes * 60 + seconds) 51 return int(minutes * 60 + seconds)
54 52
55 53
56 ################################################################################ 54 ################################################################################
57 # Audio stories. 55 # Audio stories.
58 ################################################################################ 56 ################################################################################
59 57
60 58
61 @benchmark.Disabled('all') # crbug.com/649392 59 @benchmark.Disabled('all') # crbug.com/649392
62 class GooglePlayMusicDesktopStory(_MediaStory): 60 class GooglePlayMusicDesktopStory(_MediaStory):
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 PLAY_SELECTOR = None 107 PLAY_SELECTOR = None
110 STOP_SELECTOR = '.pauseButton' 108 STOP_SELECTOR = '.pauseButton'
111 TIME_SELECTOR = '.elapsedTime' 109 TIME_SELECTOR = '.elapsedTime'
112 SEARCH_SELECTOR = '.searchInput' 110 SEARCH_SELECTOR = '.searchInput'
113 111
114 def _Login(self, action_runner): 112 def _Login(self, action_runner):
115 pandora_login.LoginAccount(action_runner, 'pandora', self.credentials_path) 113 pandora_login.LoginAccount(action_runner, 'pandora', self.credentials_path)
116 114
117 def _NavigateToMedia(self, action_runner): 115 def _NavigateToMedia(self, action_runner):
118 pass # Audio autoplays on Pandora, no need to search. 116 pass # Audio autoplays on Pandora, no need to search.
OLDNEW
« no previous file with comments | « tools/perf/page_sets/system_health/loading_stories.py ('k') | tools/perf/page_sets/todomvc.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698