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

Side by Side Diff: tools/perf/page_sets/top_7_stress.py

Issue 632013002: [Telemetry] Replace RunStressMemorey with RunPageInteraction (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 2 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
OLDNEW
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 page as page_module 4 from telemetry.page import page as page_module
5 from telemetry.page import page_set as page_set_module 5 from telemetry.page import page_set as page_set_module
6 6
7 7
8 def _GetCurrentLocation(action_runner): 8 def _GetCurrentLocation(action_runner):
9 return action_runner.EvaluateJavaScript('document.location.href') 9 return action_runner.EvaluateJavaScript('document.location.href')
10 10
11 11
12 def _WaitForLocationChange(action_runner, old_href): 12 def _WaitForLocationChange(action_runner, old_href):
13 action_runner.WaitForJavaScriptCondition( 13 action_runner.WaitForJavaScriptCondition(
14 'document.location.href != "%s"' % old_href) 14 'document.location.href != "%s"' % old_href)
15 15
16 16
17 class Top25Page(page_module.Page): 17 class Top7StressPage(page_module.Page):
18 18
19 def __init__(self, url, page_set, name=''): 19 def __init__(self, url, page_set, name=''):
20 super(Top25Page, self).__init__( 20 super(Top7StressPage, self).__init__(
21 url=url, page_set=page_set, name=name, 21 url=url, page_set=page_set, name=name,
22 credentials_path='data/credentials.json') 22 credentials_path = 'data/credentials.json')
23 self.user_agent_type = 'desktop' 23 self.user_agent_type = 'desktop'
24 self.archive_data_file = 'data/top_25.json' 24 self.archive_data_file = 'data/top_25.json'
25 25
26 def RunSmoothness(self, action_runner): 26 def RunPageInteractions(self, action_runner):
27 interaction = action_runner.BeginGestureInteraction( 27 raise NotImplementedError()
28 'ScrollAction', is_smooth=True)
29 action_runner.ScrollPage()
30 interaction.End()
31
32 def RunRepaint(self, action_runner):
33 action_runner.RepaintContinuously(seconds=5)
34 28
35 29
36 class GoogleWebSearchPage(Top25Page): 30 class GoogleWebSearchPage(Top7StressPage):
37 31
38 """ Why: top google property; a google tab is often open """ 32 """ Why: top google property; a google tab is often open """
39 33
40 def __init__(self, page_set): 34 def __init__(self, page_set):
41 super(GoogleWebSearchPage, self).__init__( 35 super(GoogleWebSearchPage, self).__init__(
42 url='https://www.google.com/#hl=en&q=barack+obama', 36 url='https://www.google.com/#hl=en&q=barack+obama',
43 page_set=page_set) 37 page_set=page_set)
44 38
45 def RunNavigateSteps(self, action_runner): 39 def RunNavigateSteps(self, action_runner):
46 action_runner.NavigateToPage(self) 40 action_runner.NavigateToPage(self)
47 action_runner.WaitForElement(text='Next') 41 action_runner.WaitForElement(text='Next')
48 42
49 def RunStressMemory(self, action_runner): 43 def RunPageInteractions(self, action_runner):
50 interaction = action_runner.BeginGestureInteraction( 44 interaction = action_runner.BeginGestureInteraction(
51 'ScrollAction', is_smooth=True) 45 'ScrollAction', is_smooth=True)
52 action_runner.ScrollPage() 46 action_runner.ScrollPage()
53 interaction.End() 47 interaction.End()
54 old_href = _GetCurrentLocation(action_runner) 48 old_href = _GetCurrentLocation(action_runner)
55 action_runner.ClickElement(text='Next') 49 action_runner.ClickElement(text='Next')
56 _WaitForLocationChange(action_runner, old_href) 50 _WaitForLocationChange(action_runner, old_href)
57 action_runner.WaitForElement(text='Next') 51 action_runner.WaitForElement(text='Next')
58 interaction = action_runner.BeginGestureInteraction( 52 interaction = action_runner.BeginGestureInteraction(
59 'ScrollAction', is_smooth=True) 53 'ScrollAction', is_smooth=True)
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 interaction = action_runner.BeginGestureInteraction( 92 interaction = action_runner.BeginGestureInteraction(
99 'ScrollAction', is_smooth=True) 93 'ScrollAction', is_smooth=True)
100 action_runner.ScrollPage() 94 action_runner.ScrollPage()
101 interaction.End() 95 interaction.End()
102 old_href = _GetCurrentLocation(action_runner) 96 old_href = _GetCurrentLocation(action_runner)
103 action_runner.ClickElement(text='Images') 97 action_runner.ClickElement(text='Images')
104 _WaitForLocationChange(action_runner, old_href) 98 _WaitForLocationChange(action_runner, old_href)
105 action_runner.WaitForElement(text='Images') 99 action_runner.WaitForElement(text='Images')
106 100
107 101
108 class GmailPage(Top25Page): 102 class GmailPage(Top7StressPage):
109 103
110 """ Why: productivity, top google properties """ 104 """ Why: productivity, top google properties """
111 105
112 def __init__(self, page_set): 106 def __init__(self, page_set):
113 super(GmailPage, self).__init__( 107 super(GmailPage, self).__init__(
114 url='https://mail.google.com/mail/', 108 url='https://mail.google.com/mail/',
115 page_set=page_set) 109 page_set=page_set)
116 110
117 self.credentials = 'google' 111 self.credentials = 'google'
118 112
119 def RunNavigateSteps(self, action_runner): 113 def RunNavigateSteps(self, action_runner):
120 action_runner.NavigateToPage(self) 114 action_runner.NavigateToPage(self)
121 action_runner.WaitForJavaScriptCondition( 115 action_runner.WaitForJavaScriptCondition(
122 'window.gmonkey !== undefined &&' 116 'window.gmonkey !== undefined &&'
123 'document.getElementById("gb") !== null') 117 'document.getElementById("gb") !== null')
124 118
125 def RunStressMemory(self, action_runner): 119 def RunPageInteractions(self, action_runner):
126 old_href = _GetCurrentLocation(action_runner) 120 old_href = _GetCurrentLocation(action_runner)
127 action_runner.ClickElement( 121 action_runner.ClickElement(
128 'a[href="https://mail.google.com/mail/u/0/?shva=1#starred"]') 122 'a[href="https://mail.google.com/mail/u/0/?shva=1#starred"]')
129 _WaitForLocationChange(action_runner, old_href) 123 _WaitForLocationChange(action_runner, old_href)
130 old_href = _GetCurrentLocation(action_runner) 124 old_href = _GetCurrentLocation(action_runner)
131 action_runner.ClickElement( 125 action_runner.ClickElement(
132 'a[href="https://mail.google.com/mail/u/0/?shva=1#inbox"]') 126 'a[href="https://mail.google.com/mail/u/0/?shva=1#inbox"]')
133 _WaitForLocationChange(action_runner, old_href) 127 _WaitForLocationChange(action_runner, old_href)
134 128
135 def RunSmoothness(self, action_runner):
136 action_runner.ExecuteJavaScript('''
137 gmonkey.load('2.0', function(api) {
138 window.__scrollableElementForTelemetry = api.getScrollableElement();
139 });''')
140 action_runner.WaitForJavaScriptCondition(
141 'window.__scrollableElementForTelemetry != null')
142 interaction = action_runner.BeginGestureInteraction(
143 'ScrollAction', is_smooth=True)
144 action_runner.ScrollElement(
145 element_function='window.__scrollableElementForTelemetry')
146 interaction.End()
147 129
148 130 class GoogleCalendarPage(Top7StressPage):
149 class GoogleCalendarPage(Top25Page):
150 131
151 """ Why: productivity, top google properties """ 132 """ Why: productivity, top google properties """
152 133
153 def __init__(self, page_set): 134 def __init__(self, page_set):
154 super(GoogleCalendarPage, self).__init__( 135 super(GoogleCalendarPage, self).__init__(
155 url='https://www.google.com/calendar/', 136 url='https://www.google.com/calendar/',
156 page_set=page_set) 137 page_set=page_set)
157 138
158 self.credentials = 'google' 139 self.credentials = 'google'
159 140
160 def RunNavigateSteps(self, action_runner): 141 def RunNavigateSteps(self, action_runner):
161 action_runner.NavigateToPage(self) 142 action_runner.NavigateToPage(self)
162 action_runner.Wait(2) 143 action_runner.Wait(2)
163 action_runner.WaitForElement('div[class~="navForward"]') 144 action_runner.WaitForElement('div[class~="navForward"]')
164 action_runner.ExecuteJavaScript(''' 145 action_runner.ExecuteJavaScript('''
165 (function() { 146 (function() {
166 var elem = document.createElement('meta'); 147 var elem = document.createElement('meta');
167 elem.name='viewport'; 148 elem.name='viewport';
168 elem.content='initial-scale=1'; 149 elem.content='initial-scale=1';
169 document.body.appendChild(elem); 150 document.body.appendChild(elem);
170 })();''') 151 })();''')
171 action_runner.Wait(1) 152 action_runner.Wait(1)
172 153
173 def RunStressMemory(self, action_runner): 154 def RunPageInteractions(self, action_runner):
174 action_runner.ClickElement('div[class~="navForward"]') 155 action_runner.ClickElement('div[class~="navForward"]')
175 action_runner.Wait(2) 156 action_runner.Wait(2)
176 action_runner.WaitForElement('div[class~="navForward"]') 157 action_runner.WaitForElement('div[class~="navForward"]')
177 action_runner.ClickElement('div[class~="navForward"]') 158 action_runner.ClickElement('div[class~="navForward"]')
178 action_runner.Wait(2) 159 action_runner.Wait(2)
179 action_runner.WaitForElement('div[class~="navForward"]') 160 action_runner.WaitForElement('div[class~="navForward"]')
180 action_runner.ClickElement('div[class~="navForward"]') 161 action_runner.ClickElement('div[class~="navForward"]')
181 action_runner.Wait(2) 162 action_runner.Wait(2)
182 action_runner.WaitForElement('div[class~="navForward"]') 163 action_runner.WaitForElement('div[class~="navForward"]')
183 action_runner.ClickElement('div[class~="navForward"]') 164 action_runner.ClickElement('div[class~="navForward"]')
184 action_runner.Wait(2) 165 action_runner.Wait(2)
185 action_runner.WaitForElement('div[class~="navBack"]') 166 action_runner.WaitForElement('div[class~="navBack"]')
186 action_runner.ClickElement('div[class~="navBack"]') 167 action_runner.ClickElement('div[class~="navBack"]')
187 action_runner.Wait(2) 168 action_runner.Wait(2)
188 action_runner.WaitForElement('div[class~="navBack"]') 169 action_runner.WaitForElement('div[class~="navBack"]')
189 action_runner.ClickElement('div[class~="navBack"]') 170 action_runner.ClickElement('div[class~="navBack"]')
190 action_runner.Wait(2) 171 action_runner.Wait(2)
191 action_runner.WaitForElement('div[class~="navBack"]') 172 action_runner.WaitForElement('div[class~="navBack"]')
192 action_runner.ClickElement('div[class~="navBack"]') 173 action_runner.ClickElement('div[class~="navBack"]')
193 action_runner.Wait(2) 174 action_runner.Wait(2)
194 action_runner.WaitForElement('div[class~="navBack"]') 175 action_runner.WaitForElement('div[class~="navBack"]')
195 action_runner.ClickElement('div[class~="navBack"]') 176 action_runner.ClickElement('div[class~="navBack"]')
196 action_runner.Wait(2) 177 action_runner.Wait(2)
197 action_runner.WaitForElement('div[class~="navBack"]') 178 action_runner.WaitForElement('div[class~="navBack"]')
198 179
199 def RunSmoothness(self, action_runner):
200 interaction = action_runner.BeginGestureInteraction(
201 'ScrollAction', is_smooth=True)
202 action_runner.ScrollElement(selector='#scrolltimedeventswk')
203 interaction.End()
204 180
205 181 class GooglePlusPage(Top7StressPage):
206 class GoogleImageSearchPage(Top25Page):
207
208 """ Why: tough image case; top google properties """
209
210 def __init__(self, page_set):
211 super(GoogleImageSearchPage, self).__init__(
212 url='https://www.google.com/search?q=cats&tbm=isch',
213 page_set=page_set)
214
215 self.credentials = 'google'
216
217
218 class GoogleDocPage(Top25Page):
219
220 """ Why: productivity, top google properties; Sample doc in the link """
221
222 def __init__(self, page_set):
223 super(GoogleDocPage, self).__init__(
224 # pylint: disable=C0301
225 url='https://docs.google.com/document/d/1X-IKNjtEnx-WW5JIKRLsyhz5sbsat3mfT pAPUSX3_s4/view',
226 page_set=page_set,
227 name='Docs (1 open document tab)')
228
229 self.credentials = 'google'
230
231 def RunNavigateSteps(self, action_runner):
232 action_runner.NavigateToPage(self)
233 action_runner.Wait(2)
234 action_runner.WaitForJavaScriptCondition(
235 'document.getElementsByClassName("kix-appview-editor").length')
236
237 def RunSmoothness(self, action_runner):
238 interaction = action_runner.BeginGestureInteraction(
239 'ScrollAction', is_smooth=True)
240 action_runner.ScrollElement(selector='.kix-appview-editor')
241 interaction.End()
242
243
244 class GooglePlusPage(Top25Page):
245 182
246 """ Why: social; top google property; Public profile; infinite scrolls """ 183 """ Why: social; top google property; Public profile; infinite scrolls """
247 184
248 def __init__(self, page_set): 185 def __init__(self, page_set):
249 super(GooglePlusPage, self).__init__( 186 super(GooglePlusPage, self).__init__(
250 url='https://plus.google.com/110031535020051778989/posts', 187 url='https://plus.google.com/110031535020051778989/posts',
251 page_set=page_set) 188 page_set=page_set)
252 189
253 self.credentials = 'google' 190 self.credentials = 'google'
254 191
255 def RunNavigateSteps(self, action_runner): 192 def RunNavigateSteps(self, action_runner):
256 action_runner.NavigateToPage(self) 193 action_runner.NavigateToPage(self)
257 action_runner.WaitForElement(text='Home') 194 action_runner.WaitForElement(text='Home')
258 195
259 def RunStressMemory(self, action_runner): 196 def RunPageInteractions(self, action_runner):
260 action_runner.ClickElement(text='Home') 197 action_runner.ClickElement(text='Home')
261 action_runner.Wait(2) 198 action_runner.Wait(2)
262 action_runner.WaitForElement(text='Profile') 199 action_runner.WaitForElement(text='Profile')
263 action_runner.ClickElement(text='Profile') 200 action_runner.ClickElement(text='Profile')
264 action_runner.Wait(2) 201 action_runner.Wait(2)
265 action_runner.WaitForElement(text='Explore') 202 action_runner.WaitForElement(text='Explore')
266 action_runner.ClickElement(text='Explore') 203 action_runner.ClickElement(text='Explore')
267 action_runner.Wait(2) 204 action_runner.Wait(2)
268 action_runner.WaitForElement(text='Events') 205 action_runner.WaitForElement(text='Events')
269 action_runner.ClickElement(text='Events') 206 action_runner.ClickElement(text='Events')
270 action_runner.Wait(2) 207 action_runner.Wait(2)
271 action_runner.WaitForElement(text='Communities') 208 action_runner.WaitForElement(text='Communities')
272 action_runner.ClickElement(text='Communities') 209 action_runner.ClickElement(text='Communities')
273 action_runner.Wait(2) 210 action_runner.Wait(2)
274 action_runner.WaitForElement(text='Home') 211 action_runner.WaitForElement(text='Home')
275 212
276 def RunSmoothness(self, action_runner):
277 interaction = action_runner.BeginGestureInteraction(
278 'ScrollAction', is_smooth=True)
279 action_runner.ScrollPage()
280 interaction.End()
281 213
282 214 class BlogspotPage(Top7StressPage):
283 class YoutubePage(Top25Page):
284
285 """ Why: #3 (Alexa global) """
286
287 def __init__(self, page_set):
288 super(YoutubePage, self).__init__(
289 url='http://www.youtube.com',
290 page_set=page_set)
291
292 self.credentials = 'google'
293
294 def RunNavigateSteps(self, action_runner):
295 action_runner.NavigateToPage(self)
296 action_runner.Wait(2)
297
298
299 class BlogspotPage(Top25Page):
300 215
301 """ Why: #11 (Alexa global), google property; some blogger layouts have 216 """ Why: #11 (Alexa global), google property; some blogger layouts have
302 infinite scroll but more interesting """ 217 infinite scroll but more interesting """
303 218
304 def __init__(self, page_set): 219 def __init__(self, page_set):
305 super(BlogspotPage, self).__init__( 220 super(BlogspotPage, self).__init__(
306 url='http://googlewebmastercentral.blogspot.com/', 221 url='http://googlewebmastercentral.blogspot.com/',
307 page_set=page_set, 222 page_set=page_set,
308 name='Blogger') 223 name='Blogger')
309 224
310 def RunNavigateSteps(self, action_runner): 225 def RunNavigateSteps(self, action_runner):
311 action_runner.NavigateToPage(self) 226 action_runner.NavigateToPage(self)
312 action_runner.WaitForElement(text='accessibility') 227 action_runner.WaitForElement(text='accessibility')
313 228
314 def RunStressMemory(self, action_runner): 229 def RunPageInteractions(self, action_runner):
315 action_runner.ClickElement(text='accessibility') 230 action_runner.ClickElement(text='accessibility')
316 action_runner.WaitForNavigate() 231 action_runner.WaitForNavigate()
317 interaction = action_runner.BeginGestureInteraction( 232 interaction = action_runner.BeginGestureInteraction(
318 'ScrollAction', is_smooth=True) 233 'ScrollAction', is_smooth=True)
319 action_runner.ScrollPage() 234 action_runner.ScrollPage()
320 interaction.End() 235 interaction.End()
321 action_runner.ClickElement(text='advanced') 236 action_runner.ClickElement(text='advanced')
322 action_runner.WaitForNavigate() 237 action_runner.WaitForNavigate()
323 interaction = action_runner.BeginGestureInteraction( 238 interaction = action_runner.BeginGestureInteraction(
324 'ScrollAction', is_smooth=True) 239 'ScrollAction', is_smooth=True)
325 action_runner.ScrollPage() 240 action_runner.ScrollPage()
326 interaction.End() 241 interaction.End()
327 action_runner.ClickElement(text='beginner') 242 action_runner.ClickElement(text='beginner')
328 action_runner.WaitForNavigate() 243 action_runner.WaitForNavigate()
329 interaction = action_runner.BeginGestureInteraction( 244 interaction = action_runner.BeginGestureInteraction(
330 'ScrollAction', is_smooth=True) 245 'ScrollAction', is_smooth=True)
331 action_runner.ScrollPage() 246 action_runner.ScrollPage()
332 interaction.End() 247 interaction.End()
333 action_runner.ClickElement(text='Home') 248 action_runner.ClickElement(text='Home')
334 action_runner.WaitForNavigate() 249 action_runner.WaitForNavigate()
335 250
336 251
337 class WordpressPage(Top25Page): 252 class WordpressPage(Top7StressPage):
338 253
339 """ Why: #18 (Alexa global), Picked an interesting post """ 254 """ Why: #18 (Alexa global), Picked an interesting post """
340 255
341 def __init__(self, page_set): 256 def __init__(self, page_set):
342 super(WordpressPage, self).__init__( 257 super(WordpressPage, self).__init__(
343 # pylint: disable=C0301 258 # pylint: disable=C0301
344 url='http://en.blog.wordpress.com/2012/09/04/freshly-pressed-editors-picks -for-august-2012/', 259 url='http://en.blog.wordpress.com/2012/09/04/freshly-pressed-editors-picks -for-august-2012/',
345 page_set=page_set, 260 page_set=page_set,
346 name='Wordpress') 261 name='Wordpress')
347 262
348 def RunNavigateSteps(self, action_runner): 263 def RunNavigateSteps(self, action_runner):
349 action_runner.NavigateToPage(self) 264 action_runner.NavigateToPage(self)
350 action_runner.WaitForElement( 265 action_runner.WaitForElement(
351 # pylint: disable=C0301 266 # pylint: disable=C0301
352 'a[href="http://en.blog.wordpress.com/2012/08/30/new-themes-able-and-sig ht/"]') 267 'a[href="http://en.blog.wordpress.com/2012/08/30/new-themes-able-and-sig ht/"]')
353 268
354 def RunStressMemory(self, action_runner): 269 def RunPageInteractions(self, action_runner):
355 interaction = action_runner.BeginGestureInteraction( 270 interaction = action_runner.BeginGestureInteraction(
356 'ScrollAction', is_smooth=True) 271 'ScrollAction', is_smooth=True)
357 action_runner.ScrollPage() 272 action_runner.ScrollPage()
358 interaction.End() 273 interaction.End()
359 action_runner.ClickElement( 274 action_runner.ClickElement(
360 # pylint: disable=C0301 275 # pylint: disable=C0301
361 'a[href="http://en.blog.wordpress.com/2012/08/30/new-themes-able-and-sig ht/"]') 276 'a[href="http://en.blog.wordpress.com/2012/08/30/new-themes-able-and-sig ht/"]')
362 action_runner.WaitForNavigate() 277 action_runner.WaitForNavigate()
363 interaction = action_runner.BeginGestureInteraction( 278 interaction = action_runner.BeginGestureInteraction(
364 'ScrollAction', is_smooth=True) 279 'ScrollAction', is_smooth=True)
365 action_runner.ScrollPage() 280 action_runner.ScrollPage()
366 interaction.End() 281 interaction.End()
367 action_runner.ClickElement(text='Features') 282 action_runner.ClickElement(text='Features')
368 action_runner.WaitForNavigate() 283 action_runner.WaitForNavigate()
369 interaction = action_runner.BeginGestureInteraction( 284 interaction = action_runner.BeginGestureInteraction(
370 'ScrollAction', is_smooth=True) 285 'ScrollAction', is_smooth=True)
371 action_runner.ScrollPage() 286 action_runner.ScrollPage()
372 interaction.End() 287 interaction.End()
373 action_runner.ClickElement(text='News') 288 action_runner.ClickElement(text='News')
374 action_runner.WaitForNavigate() 289 action_runner.WaitForNavigate()
375 interaction = action_runner.BeginGestureInteraction( 290 interaction = action_runner.BeginGestureInteraction(
376 'ScrollAction', is_smooth=True) 291 'ScrollAction', is_smooth=True)
377 action_runner.ScrollPage() 292 action_runner.ScrollPage()
378 interaction.End() 293 interaction.End()
379 294
380 295
381 class FacebookPage(Top25Page): 296 class FacebookPage(Top7StressPage):
382 297
383 """ Why: top social,Public profile """ 298 """ Why: top social,Public profile """
384 299
385 def __init__(self, page_set): 300 def __init__(self, page_set):
386 super(FacebookPage, self).__init__( 301 super(FacebookPage, self).__init__(
387 url='http://www.facebook.com/barackobama', 302 url='http://www.facebook.com/barackobama',
388 page_set=page_set, 303 page_set=page_set,
389 name='Facebook') 304 name='Facebook')
390 self.credentials = 'facebook' 305 self.credentials = 'facebook'
391 306
392 def RunNavigateSteps(self, action_runner): 307 def RunNavigateSteps(self, action_runner):
393 action_runner.NavigateToPage(self) 308 action_runner.NavigateToPage(self)
394 action_runner.WaitForElement(text='About') 309 action_runner.WaitForElement(text='About')
395 310
396 def RunStressMemory(self, action_runner): 311 def RunPageInteractions(self, action_runner):
397 action_runner.ClickElement(text='About') 312 action_runner.ClickElement(text='About')
398 action_runner.WaitForNavigate() 313 action_runner.WaitForNavigate()
399 action_runner.ClickElement(text='The Audacity of Hope') 314 action_runner.ClickElement(text='The Audacity of Hope')
400 action_runner.WaitForNavigate() 315 action_runner.WaitForNavigate()
401 action_runner.ClickElement(text='Back to Barack Obama\'s Timeline') 316 action_runner.ClickElement(text='Back to Barack Obama\'s Timeline')
402 action_runner.WaitForNavigate() 317 action_runner.WaitForNavigate()
403 action_runner.ClickElement(text='About') 318 action_runner.ClickElement(text='About')
404 action_runner.WaitForNavigate() 319 action_runner.WaitForNavigate()
405 action_runner.ClickElement(text='Elected to U.S. Senate') 320 action_runner.ClickElement(text='Elected to U.S. Senate')
406 action_runner.WaitForNavigate() 321 action_runner.WaitForNavigate()
407 action_runner.ClickElement(text='Home') 322 action_runner.ClickElement(text='Home')
408 action_runner.WaitForNavigate() 323 action_runner.WaitForNavigate()
409 324
410 def RunSmoothness(self, action_runner):
411 interaction = action_runner.BeginGestureInteraction(
412 'ScrollAction', is_smooth=True)
413 action_runner.ScrollPage()
414 interaction.End()
415 325
326 class Top7StressPageSet(page_set_module.PageSet):
416 327
417 class LinkedinPage(Top25Page): 328 """ Pages hand-picked for stress testing. """
418
419 """ Why: #12 (Alexa global),Public profile """
420
421 def __init__(self, page_set):
422 super(LinkedinPage, self).__init__(
423 url='http://www.linkedin.com/in/linustorvalds',
424 page_set=page_set,
425 name='LinkedIn')
426
427
428 class WikipediaPage(Top25Page):
429
430 """ Why: #6 (Alexa) most visited worldwide,Picked an interesting page """
431
432 def __init__(self, page_set):
433 super(WikipediaPage, self).__init__(
434 url='http://en.wikipedia.org/wiki/Wikipedia',
435 page_set=page_set,
436 name='Wikipedia (1 tab)')
437
438
439 class TwitterPage(Top25Page):
440
441 """ Why: #8 (Alexa global),Picked an interesting page """
442
443 def __init__(self, page_set):
444 super(TwitterPage, self).__init__(
445 url='https://twitter.com/katyperry',
446 page_set=page_set,
447 name='Twitter')
448
449 def RunNavigateSteps(self, action_runner):
450 action_runner.NavigateToPage(self)
451 action_runner.Wait(2)
452
453 def RunSmoothness(self, action_runner):
454 interaction = action_runner.BeginGestureInteraction(
455 'ScrollAction', is_smooth=True)
456 action_runner.ScrollPage()
457 interaction.End()
458
459
460 class PinterestPage(Top25Page):
461
462 """ Why: #37 (Alexa global) """
463
464 def __init__(self, page_set):
465 super(PinterestPage, self).__init__(
466 url='http://pinterest.com',
467 page_set=page_set,
468 name='Pinterest')
469
470 def RunSmoothness(self, action_runner):
471 interaction = action_runner.BeginGestureInteraction(
472 'ScrollAction', is_smooth=True)
473 action_runner.ScrollPage()
474 interaction.End()
475
476
477 class ESPNPage(Top25Page):
478
479 """ Why: #1 sports """
480
481 def __init__(self, page_set):
482 super(ESPNPage, self).__init__(
483 url='http://espn.go.com',
484 page_set=page_set,
485 name='ESPN')
486
487 def RunSmoothness(self, action_runner):
488 interaction = action_runner.BeginGestureInteraction(
489 'ScrollAction', is_smooth=True)
490 action_runner.ScrollPage(left_start_ratio=0.1)
491 interaction.End()
492
493
494 class WeatherDotComPage(Top25Page):
495
496 """ Why: #7 (Alexa news); #27 total time spent,Picked interesting page """
497
498 def __init__(self, page_set):
499 super(WeatherDotComPage, self).__init__(
500 # pylint: disable=C0301
501 url='http://www.weather.com/weather/right-now/Mountain+View+CA+94043',
502 page_set=page_set,
503 name='Weather.com')
504
505
506 class YahooGamesPage(Top25Page):
507
508 """ Why: #1 games according to Alexa (with actual games in it) """
509
510 def __init__(self, page_set):
511 super(YahooGamesPage, self).__init__(
512 url='http://games.yahoo.com',
513 page_set=page_set)
514
515 def RunNavigateSteps(self, action_runner):
516 action_runner.NavigateToPage(self)
517 action_runner.Wait(2)
518
519
520 class Top25PageSet(page_set_module.PageSet):
521
522 """ Pages hand-picked for 2012 CrOS scrolling tuning efforts. """
523 329
524 def __init__(self): 330 def __init__(self):
525 super(Top25PageSet, self).__init__( 331 super(Top7StressPageSet, self).__init__(
526 user_agent_type='desktop', 332 user_agent_type='desktop',
527 archive_data_file='data/top_25.json', 333 archive_data_file='data/top_25.json',
528 bucket=page_set_module.PARTNER_BUCKET) 334 bucket=page_set_module.PARTNER_BUCKET)
529 335
530 self.AddPage(GoogleWebSearchPage(self)) 336 self.AddPage(GoogleWebSearchPage(self))
531 self.AddPage(GmailPage(self)) 337 self.AddPage(GmailPage(self))
532 self.AddPage(GoogleCalendarPage(self)) 338 self.AddPage(GoogleCalendarPage(self))
533 self.AddPage(GoogleImageSearchPage(self))
534 self.AddPage(GoogleDocPage(self))
535 self.AddPage(GooglePlusPage(self)) 339 self.AddPage(GooglePlusPage(self))
536 self.AddPage(YoutubePage(self))
537 self.AddPage(BlogspotPage(self)) 340 self.AddPage(BlogspotPage(self))
538 self.AddPage(WordpressPage(self)) 341 self.AddPage(WordpressPage(self))
539 self.AddPage(FacebookPage(self)) 342 self.AddPage(FacebookPage(self))
540 self.AddPage(LinkedinPage(self))
541 self.AddPage(WikipediaPage(self))
542 self.AddPage(TwitterPage(self))
543 self.AddPage(PinterestPage(self))
544 self.AddPage(ESPNPage(self))
545 self.AddPage(WeatherDotComPage(self))
546 self.AddPage(YahooGamesPage(self))
547
548 other_urls = [
549 # Why: #1 news worldwide (Alexa global)
550 'http://news.yahoo.com',
551 # Why: #2 news worldwide
552 'http://www.cnn.com',
553 # Why: #1 world commerce website by visits; #3 commerce in the US by time
554 # spent
555 'http://www.amazon.com',
556 # Why: #1 commerce website by time spent by users in US
557 'http://www.ebay.com',
558 # Why: #1 Alexa recreation
559 'http://booking.com',
560 # Why: #1 Alexa reference
561 'http://answers.yahoo.com',
562 # Why: #1 Alexa sports
563 'http://sports.yahoo.com/',
564 # Why: top tech blog
565 'http://techcrunch.com'
566 ]
567
568 for url in other_urls:
569 self.AddPage(Top25Page(url, self))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698