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

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

Issue 1013803003: [Telemetry] Remove is_smooth flag. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix failing test Created 5 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 unified diff | Download patch
« no previous file with comments | « tools/perf/page_sets/key_search_mobile.py ('k') | tools/perf/page_sets/mobile_memory.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 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 class KeySilkCasesPage(page_module.Page): 8 class KeySilkCasesPage(page_module.Page):
9 9
10 def __init__(self, url, page_set, run_no_page_interactions): 10 def __init__(self, url, page_set, run_no_page_interactions):
(...skipping 18 matching lines...) Expand all
29 # overrides the PerformPageInteractions method instead of this method. 29 # overrides the PerformPageInteractions method instead of this method.
30 if self._run_no_page_interactions: 30 if self._run_no_page_interactions:
31 return 31 return
32 self.PerformPageInteractions(action_runner) 32 self.PerformPageInteractions(action_runner)
33 33
34 def PerformPageInteractions(self, action_runner): 34 def PerformPageInteractions(self, action_runner):
35 """ Perform interactions on page after navigate steps. 35 """ Perform interactions on page after navigate steps.
36 Override this to define custom actions to be run after navigate steps. 36 Override this to define custom actions to be run after navigate steps.
37 """ 37 """
38 interaction = action_runner.BeginGestureInteraction( 38 interaction = action_runner.BeginGestureInteraction(
39 'ScrollAction', is_smooth=True) 39 'ScrollAction')
40 action_runner.ScrollPage() 40 action_runner.ScrollPage()
41 interaction.End() 41 interaction.End()
42 42
43 43
44 class Page1(KeySilkCasesPage): 44 class Page1(KeySilkCasesPage):
45 45
46 """ Why: Infinite scroll. Brings out all of our perf issues. """ 46 """ Why: Infinite scroll. Brings out all of our perf issues. """
47 47
48 def __init__(self, page_set, run_no_page_interactions): 48 def __init__(self, page_set, run_no_page_interactions):
49 super(Page1, self).__init__( 49 super(Page1, self).__init__(
50 url='http://groupcloned.com/test/plain/list-recycle-transform.html', 50 url='http://groupcloned.com/test/plain/list-recycle-transform.html',
51 page_set=page_set, run_no_page_interactions=run_no_page_interactions) 51 page_set=page_set, run_no_page_interactions=run_no_page_interactions)
52 52
53 def PerformPageInteractions(self, action_runner): 53 def PerformPageInteractions(self, action_runner):
54 interaction = action_runner.BeginGestureInteraction( 54 interaction = action_runner.BeginGestureInteraction(
55 'ScrollAction', is_smooth=True) 55 'ScrollAction')
56 action_runner.ScrollElement(selector='#scrollable') 56 action_runner.ScrollElement(selector='#scrollable')
57 interaction.End() 57 interaction.End()
58 58
59 59
60 class Page2(KeySilkCasesPage): 60 class Page2(KeySilkCasesPage):
61 61
62 """ Why: Brings out layer management bottlenecks. """ 62 """ Why: Brings out layer management bottlenecks. """
63 63
64 def __init__(self, page_set, run_no_page_interactions): 64 def __init__(self, page_set, run_no_page_interactions):
65 super(Page2, self).__init__( 65 super(Page2, self).__init__(
(...skipping 12 matching lines...) Expand all
78 """ 78 """
79 79
80 def __init__(self, page_set, run_no_page_interactions): 80 def __init__(self, page_set, run_no_page_interactions):
81 super(Page3, self).__init__( 81 super(Page3, self).__init__(
82 # pylint: disable=C0301 82 # pylint: disable=C0301
83 url='http://groupcloned.com/test/plain/sticky-using-webkit-backface-visibi lity.html', 83 url='http://groupcloned.com/test/plain/sticky-using-webkit-backface-visibi lity.html',
84 page_set=page_set, run_no_page_interactions=run_no_page_interactions) 84 page_set=page_set, run_no_page_interactions=run_no_page_interactions)
85 85
86 def PerformPageInteractions(self, action_runner): 86 def PerformPageInteractions(self, action_runner):
87 interaction = action_runner.BeginGestureInteraction( 87 interaction = action_runner.BeginGestureInteraction(
88 'ScrollAction', is_smooth=True) 88 'ScrollAction')
89 action_runner.ScrollElement(selector='#container') 89 action_runner.ScrollElement(selector='#container')
90 interaction.End() 90 interaction.End()
91 91
92 92
93 class Page4(KeySilkCasesPage): 93 class Page4(KeySilkCasesPage):
94 94
95 """ 95 """
96 Why: Card expansion: only the card should repaint, but in reality lots of 96 Why: Card expansion: only the card should repaint, but in reality lots of
97 storms happen. 97 storms happen.
98 """ 98 """
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 285
286 class Page16(KeySilkCasesPage): 286 class Page16(KeySilkCasesPage):
287 287
288 def __init__(self, page_set, run_no_page_interactions): 288 def __init__(self, page_set, run_no_page_interactions):
289 super(Page16, self).__init__( 289 super(Page16, self).__init__(
290 url='file://key_silk_cases/inbox_app.html?swipe_to_dismiss', 290 url='file://key_silk_cases/inbox_app.html?swipe_to_dismiss',
291 page_set=page_set, run_no_page_interactions=run_no_page_interactions) 291 page_set=page_set, run_no_page_interactions=run_no_page_interactions)
292 292
293 def SwipeToDismiss(self, action_runner): 293 def SwipeToDismiss(self, action_runner):
294 interaction = action_runner.BeginGestureInteraction( 294 interaction = action_runner.BeginGestureInteraction(
295 'SwipeAction', is_smooth=True) 295 'SwipeAction')
296 action_runner.SwipeElement( 296 action_runner.SwipeElement(
297 left_start_ratio=0.8, top_start_ratio=0.2, 297 left_start_ratio=0.8, top_start_ratio=0.2,
298 direction='left', distance=400, speed_in_pixels_per_second=5000, 298 direction='left', distance=400, speed_in_pixels_per_second=5000,
299 element_function='document.getElementsByClassName("message")[2]') 299 element_function='document.getElementsByClassName("message")[2]')
300 interaction.End() 300 interaction.End()
301 301
302 def PerformPageInteractions(self, action_runner): 302 def PerformPageInteractions(self, action_runner):
303 self.SwipeToDismiss(action_runner) 303 self.SwipeToDismiss(action_runner)
304 304
305 305
306 class Page17(KeySilkCasesPage): 306 class Page17(KeySilkCasesPage):
307 307
308 def __init__(self, page_set, run_no_page_interactions): 308 def __init__(self, page_set, run_no_page_interactions):
309 super(Page17, self).__init__( 309 super(Page17, self).__init__(
310 url='file://key_silk_cases/inbox_app.html?stress_hidey_bars', 310 url='file://key_silk_cases/inbox_app.html?stress_hidey_bars',
311 page_set=page_set, run_no_page_interactions=run_no_page_interactions) 311 page_set=page_set, run_no_page_interactions=run_no_page_interactions)
312 312
313 def PerformPageInteractions(self, action_runner): 313 def PerformPageInteractions(self, action_runner):
314 self.StressHideyBars(action_runner) 314 self.StressHideyBars(action_runner)
315 315
316 def StressHideyBars(self, action_runner): 316 def StressHideyBars(self, action_runner):
317 interaction = action_runner.BeginGestureInteraction( 317 interaction = action_runner.BeginGestureInteraction(
318 'ScrollAction', is_smooth=True) 318 'ScrollAction')
319 action_runner.ScrollElement( 319 action_runner.ScrollElement(
320 selector='#messages', direction='down', speed_in_pixels_per_second=200) 320 selector='#messages', direction='down', speed_in_pixels_per_second=200)
321 interaction.End() 321 interaction.End()
322 interaction = action_runner.BeginGestureInteraction( 322 interaction = action_runner.BeginGestureInteraction(
323 'ScrollAction', is_smooth=True) 323 'ScrollAction')
324 action_runner.ScrollElement( 324 action_runner.ScrollElement(
325 selector='#messages', direction='up', speed_in_pixels_per_second=200) 325 selector='#messages', direction='up', speed_in_pixels_per_second=200)
326 interaction.End() 326 interaction.End()
327 interaction = action_runner.BeginGestureInteraction( 327 interaction = action_runner.BeginGestureInteraction(
328 'ScrollAction', is_smooth=True) 328 'ScrollAction')
329 action_runner.ScrollElement( 329 action_runner.ScrollElement(
330 selector='#messages', direction='down', speed_in_pixels_per_second=200) 330 selector='#messages', direction='down', speed_in_pixels_per_second=200)
331 interaction.End() 331 interaction.End()
332 332
333 333
334 class Page18(KeySilkCasesPage): 334 class Page18(KeySilkCasesPage):
335 335
336 def __init__(self, page_set, run_no_page_interactions): 336 def __init__(self, page_set, run_no_page_interactions):
337 super(Page18, self).__init__( 337 super(Page18, self).__init__(
338 url='file://key_silk_cases/inbox_app.html?toggle_drawer', 338 url='file://key_silk_cases/inbox_app.html?toggle_drawer',
339 page_set=page_set, run_no_page_interactions=run_no_page_interactions) 339 page_set=page_set, run_no_page_interactions=run_no_page_interactions)
340 340
341 def PerformPageInteractions(self, action_runner): 341 def PerformPageInteractions(self, action_runner):
342 for _ in xrange(6): 342 for _ in xrange(6):
343 self.ToggleDrawer(action_runner) 343 self.ToggleDrawer(action_runner)
344 344
345 def ToggleDrawer(self, action_runner): 345 def ToggleDrawer(self, action_runner):
346 interaction = action_runner.BeginInteraction( 346 interaction = action_runner.BeginInteraction(
347 'Action_TapAction', is_smooth=True) 347 'Action_TapAction')
348 action_runner.TapElement('#menu-button') 348 action_runner.TapElement('#menu-button')
349 action_runner.Wait(1) 349 action_runner.Wait(1)
350 interaction.End() 350 interaction.End()
351 351
352 352
353 class Page19(KeySilkCasesPage): 353 class Page19(KeySilkCasesPage):
354 354
355 def __init__(self, page_set, run_no_page_interactions): 355 def __init__(self, page_set, run_no_page_interactions):
356 super(Page19, self).__init__( 356 super(Page19, self).__init__(
357 url='file://key_silk_cases/inbox_app.html?slide_drawer', 357 url='file://key_silk_cases/inbox_app.html?slide_drawer',
358 page_set=page_set, run_no_page_interactions=run_no_page_interactions) 358 page_set=page_set, run_no_page_interactions=run_no_page_interactions)
359 359
360 def ToggleDrawer(self, action_runner): 360 def ToggleDrawer(self, action_runner):
361 interaction = action_runner.BeginGestureInteraction( 361 interaction = action_runner.BeginGestureInteraction(
362 'TapAction', is_smooth=True) 362 'TapAction')
363 action_runner.TapElement('#menu-button') 363 action_runner.TapElement('#menu-button')
364 interaction.End() 364 interaction.End()
365 365
366 interaction = action_runner.BeginInteraction('Wait', is_smooth=True) 366 interaction = action_runner.BeginInteraction('Wait')
367 action_runner.WaitForJavaScriptCondition(''' 367 action_runner.WaitForJavaScriptCondition('''
368 document.getElementById("nav-drawer").active && 368 document.getElementById("nav-drawer").active &&
369 document.getElementById("nav-drawer").children[0] 369 document.getElementById("nav-drawer").children[0]
370 .getBoundingClientRect().left == 0''') 370 .getBoundingClientRect().left == 0''')
371 interaction.End() 371 interaction.End()
372 372
373 def RunNavigateSteps(self, action_runner): 373 def RunNavigateSteps(self, action_runner):
374 super(Page19, self).RunNavigateSteps(action_runner) 374 super(Page19, self).RunNavigateSteps(action_runner)
375 action_runner.Wait(2) 375 action_runner.Wait(2)
376 self.ToggleDrawer(action_runner) 376 self.ToggleDrawer(action_runner)
377 377
378 def PerformPageInteractions(self, action_runner): 378 def PerformPageInteractions(self, action_runner):
379 self.SlideDrawer(action_runner) 379 self.SlideDrawer(action_runner)
380 380
381 def SlideDrawer(self, action_runner): 381 def SlideDrawer(self, action_runner):
382 interaction = action_runner.BeginInteraction( 382 interaction = action_runner.BeginInteraction(
383 'Action_SwipeAction', is_smooth=True) 383 'Action_SwipeAction')
384 action_runner.SwipeElement( 384 action_runner.SwipeElement(
385 left_start_ratio=0.8, top_start_ratio=0.2, 385 left_start_ratio=0.8, top_start_ratio=0.2,
386 direction='left', distance=200, 386 direction='left', distance=200,
387 element_function='document.getElementById("nav-drawer").children[0]') 387 element_function='document.getElementById("nav-drawer").children[0]')
388 action_runner.WaitForJavaScriptCondition( 388 action_runner.WaitForJavaScriptCondition(
389 '!document.getElementById("nav-drawer").active') 389 '!document.getElementById("nav-drawer").active')
390 interaction.End() 390 interaction.End()
391 391
392 392
393 class Page20(KeySilkCasesPage): 393 class Page20(KeySilkCasesPage):
394 394
395 """ Why: Shadow DOM infinite scrolling. """ 395 """ Why: Shadow DOM infinite scrolling. """
396 396
397 def __init__(self, page_set, run_no_page_interactions): 397 def __init__(self, page_set, run_no_page_interactions):
398 super(Page20, self).__init__( 398 super(Page20, self).__init__(
399 url='file://key_silk_cases/infinite_scrolling.html', 399 url='file://key_silk_cases/infinite_scrolling.html',
400 page_set=page_set, run_no_page_interactions=run_no_page_interactions) 400 page_set=page_set, run_no_page_interactions=run_no_page_interactions)
401 401
402 def PerformPageInteractions(self, action_runner): 402 def PerformPageInteractions(self, action_runner):
403 interaction = action_runner.BeginGestureInteraction( 403 interaction = action_runner.BeginGestureInteraction(
404 'ScrollAction', is_smooth=True) 404 'ScrollAction')
405 action_runner.ScrollElement( 405 action_runner.ScrollElement(
406 selector='#container', speed_in_pixels_per_second=5000) 406 selector='#container', speed_in_pixels_per_second=5000)
407 interaction.End() 407 interaction.End()
408 408
409 409
410 class GwsExpansionPage(KeySilkCasesPage): 410 class GwsExpansionPage(KeySilkCasesPage):
411 """Abstract base class for pages that expand Google knowledge panels.""" 411 """Abstract base class for pages that expand Google knowledge panels."""
412 412
413 def NavigateWait(self, action_runner): 413 def NavigateWait(self, action_runner):
414 super(GwsExpansionPage, self).RunNavigateSteps(action_runner) 414 super(GwsExpansionPage, self).RunNavigateSteps(action_runner)
415 action_runner.Wait(3) 415 action_runner.Wait(3)
416 416
417 def ExpandKnowledgeCard(self, action_runner): 417 def ExpandKnowledgeCard(self, action_runner):
418 # expand card 418 # expand card
419 interaction = action_runner.BeginInteraction( 419 interaction = action_runner.BeginInteraction(
420 'Action_TapAction', is_smooth=True) 420 'Action_TapAction')
421 action_runner.TapElement( 421 action_runner.TapElement(
422 element_function='document.getElementsByClassName("vk_arc")[0]') 422 element_function='document.getElementsByClassName("vk_arc")[0]')
423 action_runner.Wait(2) 423 action_runner.Wait(2)
424 interaction.End() 424 interaction.End()
425 425
426 def ScrollKnowledgeCardToTop(self, action_runner, card_id): 426 def ScrollKnowledgeCardToTop(self, action_runner, card_id):
427 # scroll until the knowledge card is at the top 427 # scroll until the knowledge card is at the top
428 action_runner.ExecuteJavaScript( 428 action_runner.ExecuteJavaScript(
429 "document.getElementById('%s').scrollIntoView()" % card_id) 429 "document.getElementById('%s').scrollIntoView()" % card_id)
430 430
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 self.credentials = 'google' 470 self.credentials = 'google'
471 471
472 def RunNavigateSteps(self, action_runner): 472 def RunNavigateSteps(self, action_runner):
473 super(Page22, self).RunNavigateSteps(action_runner) 473 super(Page22, self).RunNavigateSteps(action_runner)
474 action_runner.WaitForJavaScriptCondition( 474 action_runner.WaitForJavaScriptCondition(
475 'document.getElementsByClassName("fHa").length > 0') 475 'document.getElementsByClassName("fHa").length > 0')
476 action_runner.Wait(2) 476 action_runner.Wait(2)
477 477
478 def PerformPageInteractions(self, action_runner): 478 def PerformPageInteractions(self, action_runner):
479 interaction = action_runner.BeginGestureInteraction( 479 interaction = action_runner.BeginGestureInteraction(
480 'ScrollAction', is_smooth=True) 480 'ScrollAction')
481 action_runner.ScrollElement(selector='#mainContent') 481 action_runner.ScrollElement(selector='#mainContent')
482 interaction.End() 482 interaction.End()
483 483
484 484
485 class Page23(KeySilkCasesPage): 485 class Page23(KeySilkCasesPage):
486 486
487 """ 487 """
488 Why: Physical simulation demo that does a lot of element.style mutation 488 Why: Physical simulation demo that does a lot of element.style mutation
489 triggering JS and recalc slowness 489 triggering JS and recalc slowness
490 """ 490 """
491 491
492 def __init__(self, page_set, run_no_page_interactions): 492 def __init__(self, page_set, run_no_page_interactions):
493 super(Page23, self).__init__( 493 super(Page23, self).__init__(
494 url='http://jsbin.com/UVIgUTa/38/quiet', 494 url='http://jsbin.com/UVIgUTa/38/quiet',
495 page_set=page_set, run_no_page_interactions=run_no_page_interactions) 495 page_set=page_set, run_no_page_interactions=run_no_page_interactions)
496 496
497 def PerformPageInteractions(self, action_runner): 497 def PerformPageInteractions(self, action_runner):
498 interaction = action_runner.BeginGestureInteraction( 498 interaction = action_runner.BeginGestureInteraction(
499 'ScrollAction', is_smooth=True) 499 'ScrollAction')
500 action_runner.ScrollPage( 500 action_runner.ScrollPage(
501 distance_expr='window.innerHeight / 2', 501 distance_expr='window.innerHeight / 2',
502 direction='down', 502 direction='down',
503 use_touch=True) 503 use_touch=True)
504 interaction.End() 504 interaction.End()
505 interaction = action_runner.BeginInteraction('Wait', is_smooth=True) 505 interaction = action_runner.BeginInteraction('Wait')
506 action_runner.Wait(1) 506 action_runner.Wait(1)
507 interaction.End() 507 interaction.End()
508 508
509 509
510 class Page24(KeySilkCasesPage): 510 class Page24(KeySilkCasesPage):
511 511
512 """ 512 """
513 Why: Google News: this iOS version is slower than accelerated scrolling 513 Why: Google News: this iOS version is slower than accelerated scrolling
514 """ 514 """
515 515
516 def __init__(self, page_set, run_no_page_interactions): 516 def __init__(self, page_set, run_no_page_interactions):
517 super(Page24, self).__init__( 517 super(Page24, self).__init__(
518 url='http://mobile-news.sandbox.google.com/news/pt0?scroll', 518 url='http://mobile-news.sandbox.google.com/news/pt0?scroll',
519 page_set=page_set, run_no_page_interactions=run_no_page_interactions) 519 page_set=page_set, run_no_page_interactions=run_no_page_interactions)
520 520
521 def RunNavigateSteps(self, action_runner): 521 def RunNavigateSteps(self, action_runner):
522 super(Page24, self).RunNavigateSteps(action_runner) 522 super(Page24, self).RunNavigateSteps(action_runner)
523 action_runner.WaitForJavaScriptCondition( 523 action_runner.WaitForJavaScriptCondition(
524 'document.getElementById(":h") != null') 524 'document.getElementById(":h") != null')
525 action_runner.Wait(1) 525 action_runner.Wait(1)
526 526
527 def PerformPageInteractions(self, action_runner): 527 def PerformPageInteractions(self, action_runner):
528 interaction = action_runner.BeginGestureInteraction( 528 interaction = action_runner.BeginGestureInteraction(
529 'ScrollAction', is_smooth=True) 529 'ScrollAction')
530 action_runner.ScrollElement( 530 action_runner.ScrollElement(
531 element_function='document.getElementById(":5")', 531 element_function='document.getElementById(":5")',
532 distance=2500, 532 distance=2500,
533 use_touch=True) 533 use_touch=True)
534 interaction.End() 534 interaction.End()
535 535
536 536
537 class Page25(KeySilkCasesPage): 537 class Page25(KeySilkCasesPage):
538 538
539 def __init__(self, page_set, run_no_page_interactions): 539 def __init__(self, page_set, run_no_page_interactions):
540 super(Page25, self).__init__( 540 super(Page25, self).__init__(
541 url='http://mobile-news.sandbox.google.com/news/pt0?swipe', 541 url='http://mobile-news.sandbox.google.com/news/pt0?swipe',
542 page_set=page_set, run_no_page_interactions=run_no_page_interactions) 542 page_set=page_set, run_no_page_interactions=run_no_page_interactions)
543 543
544 def RunNavigateSteps(self, action_runner): 544 def RunNavigateSteps(self, action_runner):
545 super(Page25, self).RunNavigateSteps(action_runner) 545 super(Page25, self).RunNavigateSteps(action_runner)
546 action_runner.WaitForJavaScriptCondition( 546 action_runner.WaitForJavaScriptCondition(
547 'document.getElementById(":h") != null') 547 'document.getElementById(":h") != null')
548 action_runner.Wait(1) 548 action_runner.Wait(1)
549 549
550 def PerformPageInteractions(self, action_runner): 550 def PerformPageInteractions(self, action_runner):
551 interaction = action_runner.BeginGestureInteraction( 551 interaction = action_runner.BeginGestureInteraction(
552 'SwipeAction', is_smooth=True) 552 'SwipeAction')
553 action_runner.SwipeElement( 553 action_runner.SwipeElement(
554 direction='left', distance=100, 554 direction='left', distance=100,
555 element_function='document.getElementById(":f")') 555 element_function='document.getElementById(":f")')
556 interaction.End() 556 interaction.End()
557 interaction = action_runner.BeginInteraction('Wait', is_smooth=True) 557 interaction = action_runner.BeginInteraction('Wait')
558 action_runner.Wait(1) 558 action_runner.Wait(1)
559 interaction.End() 559 interaction.End()
560 560
561 561
562 class Page26(KeySilkCasesPage): 562 class Page26(KeySilkCasesPage):
563 563
564 """ Why: famo.us twitter demo """ 564 """ Why: famo.us twitter demo """
565 565
566 def __init__(self, page_set, run_no_page_interactions): 566 def __init__(self, page_set, run_no_page_interactions):
567 super(Page26, self).__init__( 567 super(Page26, self).__init__(
568 url='http://s.codepen.io/befamous/fullpage/pFsqb?scroll', 568 url='http://s.codepen.io/befamous/fullpage/pFsqb?scroll',
569 page_set=page_set, run_no_page_interactions=run_no_page_interactions) 569 page_set=page_set, run_no_page_interactions=run_no_page_interactions)
570 570
571 def RunNavigateSteps(self, action_runner): 571 def RunNavigateSteps(self, action_runner):
572 super(Page26, self).RunNavigateSteps(action_runner) 572 super(Page26, self).RunNavigateSteps(action_runner)
573 action_runner.WaitForJavaScriptCondition( 573 action_runner.WaitForJavaScriptCondition(
574 'document.getElementsByClassName("tweet").length > 0') 574 'document.getElementsByClassName("tweet").length > 0')
575 action_runner.Wait(1) 575 action_runner.Wait(1)
576 576
577 def PerformPageInteractions(self, action_runner): 577 def PerformPageInteractions(self, action_runner):
578 interaction = action_runner.BeginGestureInteraction( 578 interaction = action_runner.BeginGestureInteraction(
579 'ScrollAction', is_smooth=True) 579 'ScrollAction')
580 action_runner.ScrollPage(distance=5000) 580 action_runner.ScrollPage(distance=5000)
581 interaction.End() 581 interaction.End()
582 582
583 583
584 class SVGIconRaster(KeySilkCasesPage): 584 class SVGIconRaster(KeySilkCasesPage):
585 585
586 """ Why: Mutating SVG icons; these paint storm and paint slowly. """ 586 """ Why: Mutating SVG icons; these paint storm and paint slowly. """
587 587
588 def __init__(self, page_set, run_no_page_interactions): 588 def __init__(self, page_set, run_no_page_interactions):
589 super(SVGIconRaster, self).__init__( 589 super(SVGIconRaster, self).__init__(
590 url='http://wiltzius.github.io/shape-shifter/', 590 url='http://wiltzius.github.io/shape-shifter/',
591 page_set=page_set, run_no_page_interactions=run_no_page_interactions) 591 page_set=page_set, run_no_page_interactions=run_no_page_interactions)
592 592
593 def RunNavigateSteps(self, action_runner): 593 def RunNavigateSteps(self, action_runner):
594 super(SVGIconRaster, self).RunNavigateSteps(action_runner) 594 super(SVGIconRaster, self).RunNavigateSteps(action_runner)
595 action_runner.WaitForJavaScriptCondition( 595 action_runner.WaitForJavaScriptCondition(
596 'loaded = true') 596 'loaded = true')
597 action_runner.Wait(1) 597 action_runner.Wait(1)
598 598
599 def PerformPageInteractions(self, action_runner): 599 def PerformPageInteractions(self, action_runner):
600 for i in xrange(9): 600 for i in xrange(9):
601 button_func = ('document.getElementById("demo").$.' 601 button_func = ('document.getElementById("demo").$.'
602 'buttons.children[%d]') % i 602 'buttons.children[%d]') % i
603 interaction = action_runner.BeginInteraction( 603 interaction = action_runner.BeginInteraction(
604 'Action_TapAction', is_smooth=True) 604 'Action_TapAction')
605 action_runner.TapElement(element_function=button_func) 605 action_runner.TapElement(element_function=button_func)
606 action_runner.Wait(1) 606 action_runner.Wait(1)
607 interaction.End() 607 interaction.End()
608 608
609 609
610 class UpdateHistoryState(KeySilkCasesPage): 610 class UpdateHistoryState(KeySilkCasesPage):
611 611
612 """ Why: Modern apps often update history state, which currently is janky.""" 612 """ Why: Modern apps often update history state, which currently is janky."""
613 613
614 def __init__(self, page_set, run_no_page_interactions): 614 def __init__(self, page_set, run_no_page_interactions):
615 super(UpdateHistoryState, self).__init__( 615 super(UpdateHistoryState, self).__init__(
616 url='file://key_silk_cases/pushState.html', 616 url='file://key_silk_cases/pushState.html',
617 page_set=page_set, run_no_page_interactions=run_no_page_interactions) 617 page_set=page_set, run_no_page_interactions=run_no_page_interactions)
618 618
619 def RunNavigateSteps(self, action_runner): 619 def RunNavigateSteps(self, action_runner):
620 super(UpdateHistoryState, self).RunNavigateSteps(action_runner) 620 super(UpdateHistoryState, self).RunNavigateSteps(action_runner)
621 action_runner.ExecuteJavaScript(''' 621 action_runner.ExecuteJavaScript('''
622 window.requestAnimationFrame(function() { 622 window.requestAnimationFrame(function() {
623 window.__history_state_loaded = true; 623 window.__history_state_loaded = true;
624 }); 624 });
625 ''') 625 ''')
626 action_runner.WaitForJavaScriptCondition( 626 action_runner.WaitForJavaScriptCondition(
627 'window.__history_state_loaded == true;') 627 'window.__history_state_loaded == true;')
628 628
629 def PerformPageInteractions(self, action_runner): 629 def PerformPageInteractions(self, action_runner):
630 interaction = action_runner.BeginInteraction('animation_interaction', 630 interaction = action_runner.BeginInteraction('animation_interaction')
631 is_smooth=True)
632 action_runner.Wait(5) # JS runs the animation continuously on the page 631 action_runner.Wait(5) # JS runs the animation continuously on the page
633 interaction.End() 632 interaction.End()
634 633
635 634
636 class SilkFinance(KeySilkCasesPage): 635 class SilkFinance(KeySilkCasesPage):
637 636
638 """ Why: Some effects repaint the page, possibly including plenty of text. """ 637 """ Why: Some effects repaint the page, possibly including plenty of text. """
639 638
640 def __init__(self, page_set, run_no_page_interactions): 639 def __init__(self, page_set, run_no_page_interactions):
641 super(SilkFinance, self).__init__( 640 super(SilkFinance, self).__init__(
642 url='file://key_silk_cases/silk_finance.html', 641 url='file://key_silk_cases/silk_finance.html',
643 page_set=page_set, run_no_page_interactions=run_no_page_interactions) 642 page_set=page_set, run_no_page_interactions=run_no_page_interactions)
644 643
645 def PerformPageInteractions(self, action_runner): 644 def PerformPageInteractions(self, action_runner):
646 interaction = action_runner.BeginInteraction('animation_interaction', 645 interaction = action_runner.BeginInteraction('animation_interaction')
647 is_smooth=True)
648 action_runner.Wait(10) # animation runs automatically 646 action_runner.Wait(10) # animation runs automatically
649 interaction.End() 647 interaction.End()
650 648
651 649
652 class PolymerTopeka(KeySilkCasesPage): 650 class PolymerTopeka(KeySilkCasesPage):
653 651
654 """ Why: Sample Polymer app. """ 652 """ Why: Sample Polymer app. """
655 653
656 def __init__(self, page_set, run_no_page_interactions): 654 def __init__(self, page_set, run_no_page_interactions):
657 super(PolymerTopeka, self).__init__( 655 super(PolymerTopeka, self).__init__(
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
756 self.AddUserStory(SVGIconRaster(self, run_no_page_interactions)) 754 self.AddUserStory(SVGIconRaster(self, run_no_page_interactions))
757 self.AddUserStory(UpdateHistoryState(self, run_no_page_interactions)) 755 self.AddUserStory(UpdateHistoryState(self, run_no_page_interactions))
758 self.AddUserStory(SilkFinance(self, run_no_page_interactions)) 756 self.AddUserStory(SilkFinance(self, run_no_page_interactions))
759 self.AddUserStory(PolymerTopeka(self, run_no_page_interactions)) 757 self.AddUserStory(PolymerTopeka(self, run_no_page_interactions))
760 758
761 for page in self: 759 for page in self:
762 assert (page.__class__.RunPageInteractions == 760 assert (page.__class__.RunPageInteractions ==
763 KeySilkCasesPage.RunPageInteractions), ( 761 KeySilkCasesPage.RunPageInteractions), (
764 'Pages in this page set must not override KeySilkCasesPage\' ' 762 'Pages in this page set must not override KeySilkCasesPage\' '
765 'RunPageInteractions method.') 763 'RunPageInteractions method.')
OLDNEW
« no previous file with comments | « tools/perf/page_sets/key_search_mobile.py ('k') | tools/perf/page_sets/mobile_memory.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698